Compiling your program without using Debug Tool 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 Debug Tool starts. The following list describes these updates:
- If you are compiling an Enterprise PL/I program on an HFS file system, see Compiling a Enterprise PL/I program on an HFS file system.
- If you are compiling a C program on an HFS file system, see Compiling a C program on an HFS 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 file system, see Compiling a C++ program on an HFS file system.
- Specify the statements to save the files that Debug Tool 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 the TEST compiler option, make sure you specify the DD statement with the name of the separate debug file.
- If you are using other Problem Determination Tools, review the topics in the chapter Quick start guide for compiling and assembling programs for use with IBM® Problem Determination Tools products of IBM Problem Determination Tools for z/OS Common Component: 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 Debug Tool 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.