SET DYNDEBUG command
Controls the activation or deactivation of the Dynamic Debug facility.
The Dynamic Debug facility must be activated in order to debug the following types of programs:
- COBOL programs compiled with the Enterprise COBOL
for z/OS® Version 4 compiler
(and earlier) compiled with the
NONE
orNOHOOK
suboptions of theTEST
compiler option. - COBOL programs compiled with the Enterprise COBOL
for z/OS Version 5 compiler
compiled with the
TEST
compiler option. - PL/I programs compiled with Enterprise PL/I for z/OS, Version 3 Release 4 or later,
and the
NOHOOK
suboption of theTEST
compiler option - assembler programs
- disassembled programs (using the disassembly view)
- LangX COBOL programs1
- programs that run without the Language Environment run time1
You can use the Dynamic Debug facility to improve the performance of programs with compiled-in hooks (compiled with COBOL, C/C++, and PL/I compilers) while you debug them.
The initial setting of DYNDEBUG
can be controlled
by the EQAOPTS DYNDEBUG
command. If no EQAOPTS
DYNDEBUG
command is used, the initial setting in ON
.
ON
- Activates the Dynamic Debug facility.
OFF
- Deactivates the Dynamic Debug facility.
Usage notes
- After a dynamic debug hook is inserted, either explicitly or implicitly, into any
program during a debug session, you cannot change the setting of
DYNDEBUG
. - You can use this command in remote debug mode.
- This command does not support 64-bit programs.
- You can debug COBOL programs compiled with the
NOHOOK
suboption of theTEST
compiler option of Enterprise COBOL for z/OS, Version 4, with the Dynamic Debug facility. - To debug COBOL programs compiled with the
TEST(NONE)
compiler option and use the Dynamic Debug facility, you must compile with one of the following compilers:- Enterprise COBOL for z/OS and OS/390®, Version 3
- COBOL for OS/390 & VM, Version 2 Release 2
- COBOL for OS/390 & VM, Version 2 Release 1, with APAR PQ40298
- The Dynamic Debug facility
does not support attention interrupts for assembler, disassembly,
or LangX COBOL programs or for programs compiled using the following
suboptions of the compilers:
NOHOOK
suboption of theTEST
compiler option for the following compilers:- Enterprise COBOL for z/OS, Version 4
- Enterprise PL/I for z/OS, Version 3.4 or later
NONE
suboption of theTEST
compiler option for the following compilers:- Enterprise COBOL for z/OS and OS/390, Version 3
- COBOL for OS/390 & VM, Version 2
- When the following compilers are used with the suboption of the
TEST
compiler option that adds compiled-in hooks, the Dynamic Debug facility can be used to add hooks at run time, which z/OS Debugger uses instead of the compiled-in hooks. This can improve the performance of the program while running under the control of z/OS Debugger.- Any COBOL compiler supported by z/OS Debugger
- Any C/C++ compiler supported by z/OS Debugger
- Any PL/I compiler supported by z/OS Debugger
- Refer to your system administrator to determine if the Dynamic Debug facility is installed on your system.
- The same program compiled with different TEST options may halt
execution at different locations or the same scenarios. For instance,
if you compile a program with
TEST(ALL,...)
and step through the first three lines, execution is halted on line four. However, if you compile the same program withTEST(NONE,SYM,...)
and step through the first three lines, execution is halted on line five. The difference is due to optimization techniques used by the compiler.
A small arrowhead
indicates where a z/OS Debugger would
stop if the same program were compiled in two different ways.
Program compiled with TEST(ALL) | Program compiled with TEST(NONE) |
---|---|
000001 MOVE... |
000001 MOVE... |
000002 ADD... |
000002 ADD... |
►000003 LABEL: ... |
000003 LABEL: ... |
000004 MOVE... |
►000004 MOVE... |
Refer to the following topics for more information related to the material discussed in this topic.
- Related references
- z/OS Debugger commands supported in remote debug mode
1 In non-CICS® environments, SVC screening must be enabled to debug LangX COBOL programs, programs that run without the Language Environment® runtime,
or programs that are loaded by using the MVS LOAD
and LINK macros. See IBM®
z/OS Debugger Customization Guide for
instructions on how to manage SVC screening.