The Break command encompasses all of the aspects of breakpoint management.
Breakpoints can be set to interrupt execution when the program reaches
a specific location, when certain types of statements are executed, when
certain types of errors occur, or even when a data item changes value.
Breakpoints can also be listed, deleted, temporarily disabled, and re-enabled.

In addition, a counter can be associated with the breakpoint to allow the
breakpoint to be postponed until the breakpoint condition has occurred a
number of times (e.g., to catch the 20th time an i/o error occurs).

Whenever a breakpoint is set, it is assigned a breakpoint number that
uniquely identifies the breakpoint conditions and actions.  The same number
will remain associated with a breakpoint until the breakpoint is deleted.


Setting breakpoints by location:

        { AT procedure  }
> Break { END procedure } [counter]
        { line          }


Setting breakpoints for global conditions:

        { {After | Before} {"name" | Any} }
        { Call [|]                        }
        { Call Program [#]                }
>       {     [Screen    ]                }
        {     [Indexed   ]                }
> Break { I-o [Relative  ]                } [counter]
        {     [seQuential]                }
        {     [iNfos     ]                }
        {     [sqL       ]                }
        { Stop                            }
        { Perform                         }
        { eXit [Program]                  }

    Break After|Before are only for COBOL programs.


Setting a breakpoint for data that changes (up to 8 allowed):

> Break Test identifier [counter]


Setting breakpoints for Error conditions:

              { Any              }
              { Call [|]         }
              { Call Program [#] }
              {     [Screen    ] }
> Break Error {     [Indexed   ] } [counter]
              { I-o [Relative  ] }
              {     [seQuential] }
              {     [iNfos     ] }
              {     [sqL       ] }
              { integer          }


Delete, enable (ON), disable (OFF), and List breakpoints:

        { Delete } { int... }
> Break { ON     } { "name" }
        { OFF    } { ALL    }
               
               [ int... ]
> Break [ List [ "name" ] ]
               [ ALL    ]

    Break with no arguments does a "Break List ALL".
    
 
Breakpoint counters:

    [ COUNT = integer [RESET] ]

The value of the integer in the COUNT phrase determines how many times the
breakpoint must occur before control is given to the debugger.  If the
reset option is not specified, the counter will remain zero, thus the
breakpoint will enter the debugger every time from that point on.  If
the reset option is specified, the counter is reset when control is given
to the debugger.  The breakpoint thus enters the debugger every 'count'
times.

                            << end of help >>

