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
NONEorNOHOOKsuboptions of theTESTcompiler option. - COBOL programs compiled with the Enterprise COBOL
for z/OS Version 5 compiler
compiled with the
TESTcompiler option. - PL/I programs compiled with Enterprise PL/I for z/OS, Version 3 Release 4 or later,
and the
NOHOOKsuboption of theTESTcompiler 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
NOHOOKsuboption of theTESTcompiler 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:
NOHOOKsuboption of theTESTcompiler option for the following compilers:- Enterprise COBOL for z/OS, Version 4
- Enterprise PL/I for z/OS, Version 3.4 or later
NONEsuboption of theTESTcompiler 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
TESTcompiler 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.
