Specifications
Debugging and Testing Tools
9.1 OpenVMS Debugger
Breakpoints
By setting breakpoints with the SET BREAK command, you can suspend program
execution at specified locations and check the current status of your program.
Rather than specify a location, you can also suspend execution on certain classes
of instructions or on every source line. Also you can suspend execution on certain
kinds of events, such as exceptions and tasking (multithread) events.
Tracepoints
By setting tracepoints with the SET TRACE command, you can monitor the
path of program execution through specified locations. When a tracepoint
is triggered, the debugger reports that the tracepoint was reached and then
continues execution. As with the SET BREAK command, you can also trace
through classes of instructions and monitor events.
Watchpoints
By setting a watchpoint with the SET WATCH command, you can cause execution
to stop whenever a particular variable or other memory location has been
modified. When a watchpoint is triggered, the debugger suspends execution
at that point and reports the old and new values of the variable.
Manipulation of Variables and Program Locations
With the EXAMINE command, you can determine the value of a variable or
program location. The DEPOSIT command enables you to change that value. You
can then continue execution to see the effect of the change, without having to
recompile, relink, and rerun the program.
Evaluation of Expressions
With the EVALUATE command, you can compute the value of a source-language
expression or an address expression. You specify expressions and operators in the
syntax of the language to which the symbolic debugger is currently set.
Control Structures
You can use logical control structures (FOR, IF, REPEAT, WHILE) in commands
to control the execution of other commands.
Shareable Image Debugging
You can debug shareable images (images that are not directly executable).
The SET IMAGE command enables you to reference the symbols declared in
a shareable image.
Multiprocess Debugging
You can debug multiprocess programs (programs that run in more than one
process). The SHOW PROCESS and SET PROCESS commands enable you to
display process information and control the execution of images in individual
processes.
Task Debugging
You can debug tasking programs (also known as multithread programs). These
programs use DECthreads or POSIX 1003.4a services, or use language-specific
tasking services (for example, Ada tasking programs). The SHOW TASK and SET
TASK commands enable you to display task information and control the execution
of individual tasks.
9–4










