AT GLOBAL command

Gives z/OS® Debugger control for every instance of the specified AT-condition. These breakpoints are independent of their nonglobal counterparts (except for AT PATH, which is identical to AT GLOBAL PATH). Global breakpoints are always performed before their specific counterparts.

Read syntax diagramSkip visual syntax diagramATevery_clauseGLOBALALLOCATEAPPEARANCECALLDATEDELETEENTRYWHENconditionEXITLABELLINELOADOCCURRENCEPATHSTATEMENTWHENconditioncommand;
command
A valid z/OS Debugger command.

You should use GLOBAL breakpoints where you don't have specific information of where to set your breakpoint. For example, you want to halt at entry to block Abcdefg_Unknwn but cannot remember the name, you can issue AT GLOBAL ENTRY and z/OS Debugger will halt every time a block is being entered. If you want to halt at every function call, you can issue AT GLOBAL CALL.

Usage notes
  • z/OS Debugger does not support the AT CALL, AT LABEL and AT PATH commands for disassembled or VS COBOL II programs.
  • z/OS Debugger does not support the AT CALL command for LangX COBOL programs.
  • To set a global breakpoint, you can specify an asterisk (*) with the AT command or you can specify an AT GLOBAL command.
  • Although you can define GLOBAL breakpoints to coexist with singular breakpoints of the same type at the same location or event, COBOL does not allow you to define two or more single breakpoints of the same type for the same location or event. The last breakpoint you define replaces any previous breakpoint.
  • The AT GLOBAL command cannot be used while you replay recorded statements by using the PLAYBACK commands.
  • The AT GLOBAL OCCURRENCE breakpoint takes precedence over an AT OCCURRENCE condition breakpoint.
  • The AT GLOBAL OCCURRENCE command takes precedence over the test_level setting of the TEST runtime option. For example, if your test_level setting is ALL, a condition is raised, and you set an AT GLOBAL OCCURRENCE breakpoint, then z/OS Debugger stops only for the breakpoint. z/OS Debugger does not stop twice (once for the AT GLOBAL OCCURRENCE and once for the test_level setting of ALL).
  • You cannot use the AT GLOBAL ENTRY, AT GLOBAL EXIT, and AT GLOBAL PATH commands to stop at the entry or exit of a nested block in a C or C++ program. A nested block is a group of statements delimited by { and }. The compiler assigns a name to these blocks using the following pattern: %BLOCKn, where n is a sequentially-assigned number.
Examples
  • If you want to set a global AT ENTRY breakpoint, specify:
    AT ENTRY *;
    or
    AT GLOBAL ENTRY;
  • At every statement or line, display a message identifying the statement or line. The current programming language setting is COBOL.
    AT GLOBAL STATEMENT LIST ('At Statement:', %STATEMENT);
  • If you enter (for COBOL):
    AT EXIT table1 PERFORM
    LIST TITLED (age, pay);
    GO;
    END-PERFORM;
    then enter:
    AT EXIT table1 PERFORM
    LIST TITLED (benefits, scale);
    GO;
    END-PERFORM;
    only benefits and scale are listed when your program reaches the exit point of block table1. The second AT EXIT replaces the first because the breakpoints are defined for the same location. However, if you define the following GLOBAL breakpoint with the first EXIT breakpoint, when your program reaches the exit from table1, all four variables (age, pay, benefits, and scale) are listed with their values, because the GLOBAL EXIT breakpoint can coexist with the EXIT breakpoint set for table1:
    AT GLOBAL EXIT PERFORM
    LIST TITLED (benefits, scale);
    GO;
    END-PERFORM;
  • To set a GLOBAL DATE breakpoint, specify:
    AT DATE *;
    or
    AT GLOBAL DATE;
  • To combine a global breakpoint with other z/OS Debugger commands, specify:
    AT GLOBAL DATE QUERY LOCATION;

Refer to the following topics for more information related to the material discussed in this topic.