This chapter describes how to prepare an assembler program that you can debug with Debug Tool's full capabilities. To prepare an assembler program, you must do the following steps:
If you use Debug Tool Utilities to prepare your assembler program, you can do steps 1 and 2 in one step.
When you debug an assembler program, you can use most of the Debug Tool commands. There are three differences between debugging an assembler program and debugging programs written in other programming languages supported by Debug Tool:
After you verify that your assembler program meets these requirements, prepare your assembler program by doing the following tasks:
Assembling your program and creating EQALANGX describes how to prepare an assembler program by using Debug Tool Utilities.
If you assemble your program without using Debug Tool Utilities, you must use the High Level Assembler (HLASM) and specify a SYSADATA DD statement and the ADATA option. This causes the assembler to create a SYSADATA file. The SYSADATA file is required to generate the debug information (the EQALANGX file) used by Debug Tool.
If you are using other Problem Determination Tools, see Assembler programs to make sure you specify all the assembler options you need to create the files needed by all the Problem Determination Tools.
To create the EQALANGX file, you use the EQALANGX program. The EQALANGX program shipped as a component of Debug Tool is functionally equivalent to the IDILANGX program shipped as a component of IBM® Fault Analyzer. If you have IBM Fault Analyzer installed, you can use the IDILANGX program to create the EQALANGX file, as long as the version of the IDILANGX program is the same as or newer than the EQALANGX program shipped with Debug Tool. To identify the version of the program, do the following steps:
If you choose to use IDILANGX to create the EQALANGX file, you can skip these instructions. See the IBM Fault Analyzer documentation for instructions on creating the EQALANGX file.
To create the EQALANGX files without using Debug Tool Utilities, use JCL similar to the following:
//XTRACT EXEC PGM=EQALANGX,REGION=32M, // PARM='(ASM ERROR LOUD' //STEPLIB DD DISP=SHR,DSN=hlq.SEQAMOD //SYSADATA DD DISP=SHR,DSN=yourid.sysadata //IDILANGX DD DISP=OLD,DSN=yourid.EQALANGX
The following list describes the variables used in this example the parameters you can use with the EQALANGX program:
The messages displayed by specifying the ERROR and LOUD parameters are Write To Operator or Write To Programmer (WTO or WTP) messages. See the IBM Fault Analyzer for z/OS® User's Guide and Reference for detailed information about the messages and return codes displayed by the IDILANGX program. The EQALANGX program uses the same messages and return codes.
//STEPLIB DD DISP=SHR,DSN=hlq.SEQAMOD
Debug Tool searches for the EQALANGX debug file in a partitioned data set with the name yourid.EQALANGX and a member name that matches the name of the first CSECT in the assembly. If you want the member name of the EQALANGX debug file to match the first CSECT in the assembly, you do not need to specify a member name on the DD statement. Otherwise, you must specify a member name on the DD statement. In this case, you must use the SET SOURCE command to direct Debug Tool to the member containing the EQALANGX data.
Debug Tool does not support debugging of Private Code (unnamed CSECT). The EQALANGX will issue error messages if an unnamed CSECT is detected in your assembler program.
You can assemble your program and create the EQALANGX file at the same time by using Debug Tool Utilities. Do the following:
If option 5 is not available, contact your system administrator.
To read more information about a field in any panel, place the cursor in the input field and press PF1. To read more information about a panel, place the cursor anywhere on the panel that is not an input field and press PF1.
After you assemble your program and create the EQALANGX file, you can link-edit your program.
You can link-edit your program by using your normal link-edit procedures or you can use Debug Tool Utilities by doing the following:
To read more information about a field in any panel, place the cursor in the input field and press PF1. To read more information about a panel, place the cursor anywhere on the panel that is not an input field and press PF1.
After you link-edit your program, you can run your program and start Debug Tool.
Debug Tool cannot find the EQALANGX member when you change the name with a CHANGE link statement. For example, the message "EQALANGX debug file cannot be found for PGM1TEST" is displayed when you use the following link statements:
CHANGE PGMTEST1(PGM1TEST) INCLUDE LINKLIB(PGMTEST1)