Invokes the OpenVMS Debugger.
For a complete description of the OpenVMS Debugger, see the
OpenVMS Debugger Manual.
To get help on debugger commands from DCL level, type the
following command:
$ HELP/LIBRARY=SYS$HELP:DBG$HELP DEBUG
Format
DEBUG
2 Heap_Analyzer
The Heap Analyzer provides a graphical representation of memory
use in real time. This allows you to quickly identify inefficient
memory usage in your application such as allocations that are
made too often, memory blocks that are too large, fragmentation,
or memory leaks.
For details on running the Heap Analyzer from within the
debugger, see the OpenVMS Debugger Manual.
To run the standalone Heap Analyzer, issue the following
commands:
$ DEFINE/USER/NAME=CONFINE LIBRTL SYS$LIBRARY:LIBRTL_INSTRUMENTED
$ RUN/NODEBUG program
2 Qualifiers
/KEEP
Invokes the kept debugger. The kept debugger includes a Run/Rerun
capability that allows you to debug an image multiple times or
debug a series of distinct images without exiting the debugger.
Issuing the DEBUG/KEEP command is the only way to invoke the kept
debugger.
/RESUME
/RESUME (default)
Reinvokes the non-kept debugger after a Ctrl/Y key sequence has
interrupted the execution of a program you are debugging. (The
interrupted program must not have been linked with a /NOTRACEBACK
qualifier on the LINK command.)
If you issue the DEBUG/RESUME command without a previous Ctrl/Y
key sequence, no action occurs.
2 Examples
1.$ FORTRAN/DEBUG/NOOPTIMIZE WIDGET
$ LINK/DEBUG WIDGET
$ RUN WIDGET
[ Debugger Banner and Version ]
%DEBUG-I-INITIAL, language is FORTRAN, module set to WIDGET
DBG>
The FORTRAN and LINK commands both specify the /DEBUG qualifier
to compile the program WIDGET.FOR with debugger symbol table
information. Because the program has been compiled and linked
with debug information, the debugger is automatically invoked
by the image activator upon starting the program with the
RUN command. No program code has yet been executed when the
debugger is invoked.
2.$ FORTRAN/DEBUG/NOOPTIMIZE WIDGET
$ LINK/DEBUG WIDGET
$ RUN/NODEBUG WIDGET
NAME:
NAME:
NAME:
^Y
$ DEBUG/RESUME
[ Debugger Banner and Version ]
%DEBUG-I-INITIAL, language is FORTRAN, module set to WIDGET
DBG>
The FORTRAN and LINK commands both specify the /DEBUG qualifier
to compile the program WIDGET.FOR with debugger symbol table
information. The RUN command begins execution of the image
WIDGET.EXE, which loops uncontrollably. Ctrl/Y interrupts the
program, and the DEBUG/RESUME command gives control to the
debugger.
3.$ CC/DEBUG/NOOPTIMIZE ECHOARGS
$ LINK/DEBUG ECHOARGS
$ ECHO == "$ sys$disk:[]echoargs.exe"
$ DEBUG/KEEP
[ Debugger Banner and Version ]
DBG> RUN/COMMAND="ECHO"/ARGUMENTS="fa sol la mi"
%DEBUG-I-INITIAL, language is C, module set to ECHOARGS
%DEBUG-I-NOTATMAIN, type GO to get to start of main program
DBG>
.
.
.
DBG> RERUN/ARGUMENTS="fee fii foo fum"
%DEBUG-I-INITIAL, language is C, module set to ECHOARGS
%DEBUG-I-NOTATMAIN, type GO to get to start of main program
DBG>
.
.
.
DBG> RUN/ARGUMENTS="a b c" ECHOARGS
%DEBUG-I-INITIAL, language is C, module set to ECHOARGS
%DEBUG-I-NOTATMAIN, type GO to get to start of main program
DBG>
The CC and LINK commands both specify the /DEBUG qualifier
to compile the program ECHOARGS.C with debugger symbol table
information.
The symbol definition command defines a foreign command for use
during the debugging session.
The DEBUG/KEEP command invokes the kept debugger.
The first RUN command uses the /COMMAND qualifier to specify
a foreign command to invoke the image file and the /ARGUMENTS
qualifier to specify a string of arguments.
The RERUN command reinvokes the same image file and uses the
/ARGUMENTS qualifier to specify a new string of arguments.
The second RUN command specifies a new image file and a new
string of arguments.
4.$ PASCAL/DEBUG/NOOPTIMIZE 8QUEENS
$ LINK/DEBUG 8QUEENS
$ DEFINE/USER/NAME=CONFINE LIBRTL SYS$LIBRARY:LIBRTL_INSTRUMENTED
$ RUN/NODEBUG 8QUEENS
[Heap Analyzer window is displayed]
The PASCAL and LINK commands both specify the /DEBUG qualifier
to compile the program 8QUEENS.PAS with debugger symbol table
information.
The DEFINE command causes the Heap Analyzer to access a
version of LIBRTL designed to collect memory allocation and
deallocation information.
The RUN/NODEBUG command invokes the Heap Analyzer but not the
Debugger.
On this website, Google Analytics is used to track visitor statistics. These are anonymised data about the number of visitors, which pages they visit on this site, from which regions they visit, which web browsers they use, etc.. You will also see non-personalised ads via Google AdSense. Cookies from Paddle or Paypal are placed when you click on a 'Buy now!' or 'Donate!' button, and possible cookies from Disqus when you use that system to comment on one or more blogposts. Privacy Statement