BREAKPOINT -- Sets a breakpoint.
FORMAT
| Exactly one from this column. | None, any, or all from |
| | this column. |
| | |
| routine-name | |
| statement-id | -Do action-list |
Breakpoint | -Exit | -Trace |
| -Here | -After integer |
| -VA address | |
| -VA routine-name\offset | |
| | |
REQUIRED ARGUMENT
The BREAKPOINT command must be followed by exactly one option from the
following list:
routine-name Identifies where DEBUG will set a breakpoint. This must be
either a routine-name by itself or a statement-id. If you
specify a routine-name by itself, DEBUG sets the breakpoint
just before the first executable statement in the named
routine. Don't forget that a routine-name by itself must end
with a backslash (\).
-Exit Sets a breakpoint on the routine exit. (Note, each routine
has only one physical exit even though it may have multiple
RETURN statements. DEBUG sets the breakpoint on the physical
exit only.)
-Here Sets a breakpoint at the current run environment location.
Any user environment specification is ignored.
-VA Allows you to set a breakpoint on a virtual address. -VA must
be followed by one of the following two subarguments:
address a virtual address. By default, DEBUG
will view the number you enter as a
decimal value, but you can change the
base to hexadecimal or octal by
preceding the number with 16# or 8#,
respectively.
routine-name\offset a routine-name followed by an integer
offset (in bytes) from the beginning
of the routine also provides a virtual
address.
OPTIONAL ARGUMENTS
After the one mandatory argument, you can optionally specify zero, one, two,
or all three of the following arguments:
-Do Causes DEBUG to execute the action-list when the break occurs.
-Trace Prevents the breakpoint from stopping program execution. Instead,
DEBUG prints a message that identifies the tracepoint, and executes
any action-list that you have given (see the -DO option). Target
program execution continues.
-After DEBUG maintains a "hit" count for every breakpoint. The hit count
measures how many times a statement is executed. (That is, the hit
count is incremented each time the statement at that breakpoint is
executed.) You must supply an integer argument to -After. When the
hit count is less than the integer, the breakpoint is not activated.
When the hit count equals the integer, the break is activated, and
the hit count is reset to zero. If you never specify -AFTER in a
DEBUG session, the default value of the integer is 1.
The integer you supply will not change unless you change it. For
example, if you specify -AFTER 3, then program breaks will occur for
the third, sixth, ninth, etc. times that the statement is executed.
DESCRIPTION
Use the BREAKPOINT command to set a breakpoint. The breakpoint
always occurs immediately before your program executes the statement,
exit, or routine where you set the break. For example, if you set
a breakpoint at line 100, then the program will halt just before it
executes the statement at line 100. If you set a breakpoint at a
routine, DEBUG executes the routine prolog (which establishes the
addressing environment, allocates local variables, etc.), but halts
before executing the first user statement of the routine.
If you specified an action-list with the breakpoint, DEBUG invokes
the commands in the action-list. DEBUG then checks to see if the
breakpoint is a trace. If it is a trace, DEBUG prints a message notifying
you that the break occurred, and execution continues. If the breakpoint
is not a trace, DEBUG requests a command.
Use the LIST command to learn the positions of all active breakpoints. Use
the DELETE command to remove one or more breakpoints.
For full details, see Chapter 3 of the DOMAIN Language Level Debugger
Reference manual.