Compiling your program without using IBM® z/OS Debugger Utilities
Create or modify JCL so that it includes all the statements you need to compile or assemble your programs, then properly link any libraries. The following list describes the changes you need to make:
- Specify
the correct compiler options and suboptions that you chose from Table 1. For each compiler, there might be additional updates you might need to make so that z/OS® Debugger starts. The following list describes these updates:
- If you are compiling an Enterprise PL/I program on an HFS or zFS file system, see Compiling a Enterprise PL/I program on an HFS or zFS file system.
- If you are compiling a C program on an HFS or zFS file system, see Compiling a C program on an HFS or zFS file system.
- If you are compiling a C program with c89 or c++, see Compiling your C program with c89 or c++.
- If you are compiling a C++ program on an HFS or zFS file system, see Compiling a C++ program on an HFS or zFS file system.
- Specify the statements to save the files that z/OS Debugger needs. Table 1 can help
you identify which file you need to save for a particular compiler
option. For example, if you are compiling a COBOL program with the
SEPARATE
suboption of theTEST
compiler option, make sure you specify the DD statement with the name of the separate debug file. - If you are using other Application Delivery Foundation for z/OS tools, see IBM Application Delivery Foundation for z/OS Common Components Customization Guide and User Guide that correspond to the compilers or assembler that you are using. Those topics contain instructions on other updates you must make to your compilation, assembler, and linking processes.
- If YES is specified for the EQAOPT
MDBG
command (which requires z/OS Debugger to search for a .dbg file in a .mdbg file)1, verify that the .mdbg file is a non-temporary file and is available during the debug session. Ensure that the .mdbg file was created with captured source by using the -c option for the dbgld command or the CAPSRC option on the CDADBGLD utility. - For LangX COBOL programs, write JCL that generates the EQALANGX file, as described in Creating the EQALANGX file for LangX COBOL programs.
- For assembler programs, write a SYSADATA DD statement that generates the EQALANGX files, as described in Creating the EQALANGX file for an assembler program.
- For Db2® programs, specify the correct Db2 preprocessor and coprocessor, as described in Processing SQL statements.
Programming language | Compiler suboption or assembler option | File you need to save |
---|---|---|
COBOL | ||
SEPARATE |
separate debug file | |
any other | listing2 | |
NOTEST |
listing2 | |
LangX COBOL | ||
Compiling your OS/VS COBOL program |
EQALANGX | |
any other | listing file containing pseudo-assembler code | |
PL/I | ||
SEPARATE |
separate debug file | |
any other (pre-Enterprise PL/I) | listing file | |
any other (Enterprise PL/I) | source file that was used as input to the compiler | |
NOTEST |
listing file containing pseudo-assembler code | |
C/C++ | ||
DEBUG(DWARF) |
the .dbg file and source file If you are using an .mdbg file that stores the source file, then save that .mdbg file. |
|
TEST |
source file that was used as input to the compiler | |
NOTEST |
listing file containing pseudo-assembler code | |
assembler | ||
ADATA |
EQALANGX | |
no debug information saved | listing file containing pseudo-assembler code |
After you complete this task, see Update your library and promotion process.
1 In situations where you
can specify environment variables, you can set the environment variable EQA_USE_MDBG to YES or NO,
which overrides any setting (including the default setting) of the EQAOPTS
MDBG
command.2 It is except for Enterprise COBOL for z/OS Version 5.