Suspends program execution to allow for debugger actions.
BREAKPOINT [statement-id] [[action-list]] [/IF {logical-expr} [/ELSE[action-list]]] [/SKIP=n] [/IGNORE | /NIGNORE [/ALL]] [/SILENT | /NSILENT]
where:
In the following example, a breakpoint is set at the entry point of the READ_INPUT procedure with an action list evaluating the value of MAXV.
CodeWatch> B READ_INPUT\%ENTRY [E MAXV] CodeWatch> C Break at PRIMES.READ_INPUT\%ENTRY MAXV = 10 {fixed binary (31)}
In the following example, a conditional breakpoint is set on line 94. Program execution will stop if the variable COUNT is greater than 3; otherwise, the debugger will evaluate COUNT and continue.
CodeWatch> B SIFT\94 /IF {COUNT>3} /ELSE [E COUNT] CodeWatch> CONTINUE COUNT = 1 {fixed binary (31)} COUNT = 2 {fixed binary (31)} COUNT = 3 {fixed binary (31)} Break at PRIMES.SIFT\94
Description
The BREAKPOINT command is used to set a breakpoint at a specified statement or to modify the characteristics of a breakpoint already set at that statement. If the statement identifier is not specified, the breakpoint will be set at the current execution point; that is, the statement to be executed when program execution is resumed. The maximum number of breakpoints that can be active at one time is 64.
Breakpoints can be set at the entry point (%ENTRY) of external routines that have or have not been compiled in debug mode and at lines containing executable statements within routines that have been compiled in debug mode. Lines containing only comments or declarations, or only the keyword ELSE (else), are not valid breakpoint locations. If you try to set a breakpoint at one of these locations, the debugger will set the breakpoint at the first executable statement after the one named in the command.