CDADBGLD — Create a debug side file for the module map

Description

The CDADBGLD utility is the MVS™ batch equivalent of the dbgld command. You can use this utility if you do not have z/OS® UNIX System Services.

The compiler creates a debug side file for each compilation unit if the DEBUG compiler option is specified. The path names or data set names of all the debug side files are then stored in the module, which is an executable file or a DLL. The CDADBGLD utility opens all of the debug side files associated with the module and stores all of the functions, global variables, external types, and source files in a module map. In addition, the contents of all of the debug side files are packaged together into this same module map. Debuggers that support demand load can use the side file for faster access to debug information.

The CDADBGLD utility only needs to be executed once after binding. The performance of the debugger, especially the start time, will be significantly improved if the CDADBGLD utility is executed before the execution of a debugger. For more information on using the module map to improve debugger performance, see z/OS Common Debug Architecture User's Guide. For information on the CDADBGLD cataloged procedure, which executes the CDADBGLD utility, see Cataloged procedures and REXX EXECs.

Options

INFILE
Specifies the module name.
OUTFILE
Specifies the module level debug side file that will be written to.
CPARM
Passes options into the CDADBGLD utility. The valid options are:
  • VERSION: Displays the version of CDADBGLD as well as the Common Debug Architecture runtime phaseid information.
  • CAPSRC: Adds captured source to the module map.

Restrictions

The following restrictions apply to the use of CDADBGLD:
  • The source files must be compiled with the DEBUG compiler option.
  • The name of a valid module must be passed into the CDADBGLD utility. The module must be bound with the EDIT=YES binder option, which is the default. An error message will be generated if EDIT=NO.
  • The compilation unit debug side files associated with the module must exist in the directories where they were during compilation. Otherwise, they will not be added to the module map and no debug information will be available to the compilation units via the module map during debugging.
  • If the module map file already exists, this file must have write permission.

Example

The following example shows how to invoke the CDADBGLD utility, specify the module name of MYHLQ.MOD(TEST), display the version of CDADBGLD, and create a module level debug side file called MYHLQ.MDBG(TEST):
//CDADBGLD EXEC CDADBGLD,
// INFILE='MYHLQ.MOD(TEST)',
// CPARM='VERSION',
// OUTFILE='MYHLQ.MDBG(TEST),DISP=SHR'

Exit values

The exit values for CDADBGLD are:
0
Successful completion
4
Warning
8
Error
12
Severe error