BREAK

DEBUG Commands

break.helpdbg.txt
BREAK                                                          DEBUG subcommand

Use the BREAK subcommand to stop execution of a program or module at a specific
instruction location called a breakpoint.

The format of the BREAK subcommand is:
+----------+------------------------------------------------------------------+
| BReak    | id symbol   hexloc                                               |
+----------+------------------------------------------------------------------+
where:

id       is a decimal number, from 0 to 15, which identifies the breakpoint.  A
         maximum of 16 breakpoints may be in effect at one time; if you specify
         an identification number that is already set for a breakpoint, the
         previous breakpoint is cleared and the new one is set.

symbol   is a name assigned to the storage location where the breakpoint is
         set.  The operand symbol, if used, must have previously been set using
         the DEFINE subcommand.

hexloc   is the hexadecimal storage location (relative to the current origin)
         where the breakpoint is to occur.  hexloc must be on a halfword
         boundary and its value added to the current origin must not exceed
         your virtual machine size.


Usage Notes:

1.  To set breakpoints before beginning program execution, enter the debug
    environment with the DEBUG command after you load the program into storage.
    After setting the breakpoints, use the RETURN subcommand to leave the debug
    environment and issue the START command to begin program execution.  For
    example:
       load myprog
       debug
       break 1 20016
       break 2 20032
       return
       start

2.  When you assign hexloc to a breakpoint, you must know the current origin
    (set with the ORIGIN subcommand).  The hexloc you specify is added to the
    current origin to determine the breakpoint address.

3.  When a breakpoint is found during program execution, the message:
       SYSDBG728I DEBUG ENTERED BREAKPOINT yy AT xxxxxx
    is displayed at the terminal.  To resume program execution, use the GO
    subcommand.

4.  Breakpoints are cleared after they are encountered.  Thus, if a breakpoint
    is encountered during a program loop you must reset the breakpoint if you
    want to interrupt execution the next time that address is encountered.

5.  When you set a breakpoint, the halfword at the address specified is
    replaced with B2Ex, where x represents the identification number you
    assigned.  After the breakpoint is encountered during execution, B2Ex is
    replaced with the original operation code.

6.  You should set breakpoints only at valid operation code addresses.  The
    BREAK subcommand does not check to see whether or not the specified
    location contains a valid operation code.

7.  If you reference a virtual storage address that is in a shared segment, you
    are given a nonshared copy of the segment and you receive the message:
       SYSTEM sysname REPLACED WITH NON-SHARED copy