When a breakpoint is triggered, the debugger takes the following
actions:
1. Suspends program execution at the breakpoint location.
2. If you specified /AFTER when you set the breakpoint, checks
the AFTER count. If the specified number of counts has not
been reached, execution resumes and the debugger does not do
the remaining steps.
3. Evaluates the expression in a WHEN clause, if you specified
one when you set the breakpoint. If the value of the
expression is false, execution resumes and the debugger does
not do the remaining steps.
4. Reports that execution has reached the breakpoint location by
issuing a "break . . . " message, unless you specified /SILENT.
5. Displays the line of source code at which execution is
suspended, unless you specified /NOSOURCE or /SILENT when
you set the breakpoint or unless you previously entered SET
STEP NOSOURCE.
6. Executes the commands in a DO clause, if you specified one
when you set the breakpoint. If the DO clause contains a GO
command, execution continues and the debugger does not perform
the next step.
7. Issues the prompt.
You set a breakpoint at a particular location in your program
by specifying an address expression with the SET BREAK command.
You set a breakpoint on consecutive source lines, classes of
instructions, or events by specifying a qualifier with the SET
BREAK command. Generally, you must specify either an address
expression or a qualifier, but not both. Exceptions are /EVENT
and /RETURN.
The /LINE qualifier sets a breakpoint on each line of source
code.
The following qualifiers set breakpoints on classes of
instructions. Using these qualifiers with /LINE causes the
debugger to trace every instruction of your program as it
executes and thus significantly slows down execution:
/BRANCH
/CALL
/INSTRUCTION
/RETURN
The following qualifiers affect what happens at a routine call:
/INTO
/OVER
/[NO]SHARE
/[NO]SYSTEM