 |
OpenVMS Debugger Manual
SHOW ABORT_KEY
Identifies the Ctrl-key sequence currently defined to abort the
execution of a debugger command or to interrupt program execution.
Note
This command is not available in the HP DECwindows Motif for OpenVMS user interface to
the debugger.
|
Format
SHOW ABORT_KEY
Description
By default, the Ctrl/C sequence, when entered within a debugging
session, aborts the execution of a debugger command and interrupts
program execution. The SET ABORT_KEY command enables you to assign the
abort function to another Ctrl-key sequence. The SHOW ABORT_KEY command
identifies the Ctrl-key sequence currently in effect for the abort
function.
Related commands:
Ctrl/C
SET ABORT_KEY
Example
|
DBG> SHOW ABORT_KEY
Abort Command Key is CTRL_C
DBG> SET ABORT_KEY = CTRL_P
DBG> SHOW ABORT_KEY
Abort Command Key is CTRL_P
DBG>
|
In this example, the first SHOW ABORT_KEY command identifies the
default abort command key sequence, Ctrl/C. The SET ABORT_KEY = CTRL_P
command assigns the abort-command function to Ctrl/P, as confirmed by
the second SHOW ABORT_KEY command.
SHOW AST
Indicates whether delivery of asynchronous system traps (ASTs) is
enabled or disabled.
Format
SHOW AST
Description
The SHOW AST command indicates whether delivery of ASTs is enabled or
disabled. The command does not identify an AST whose delivery is
pending. The delivery of ASTs is enabled by default and with the ENABLE
AST command. The delivery of ASTs is disabled with the DISABLE AST
command.
Related commands:
(ENABLE,DISABLE) AST
Example
|
DBG> SHOW AST
ASTs are enabled
DBG> DISABLE AST
DBG> SHOW AST
ASTs are disabled
DBG>
|
The SHOW AST command indicates whether the delivery of ASTs is enabled.
SHOW ATSIGN
Identifies the default file specification established with the last SET
ATSIGN command. The debugger uses this file specification when
processing the execute procedure (@) command.
Format
SHOW ATSIGN
Description
Related commands:
@ (Execute Procedure)
SET ATSIGN
Examples
#1 |
DBG> SHOW ATSIGN
No indirect command file default in effect, using DEBUG.COM
DBG>
|
This example shows that if you did not use the SET ATSIGN command, the
debugger assumes command procedures have the default file specification
SYS$DISK:[]DEBUG.COM.
#2 |
DBG> SET ATSIGN USER:[JONES.DEBUG].DBG
DBG> SHOW ATSIGN
Indirect command file default is USER:[JONES.DEBUG].DBG
DBG>
|
In this example, the SHOW ATSIGN command indicates the default file
specification for command procedures, as previously established with
the SET ATSIGN command.
SHOW BREAK
Displays information about breakpoints.
Format
SHOW BREAK
Qualifiers
/PREDEFINED
Displays information about predefined breakpoints.
/USER
Displays information about user-defined breakpoints.
Description
The SHOW BREAK command displays information about breakpoints that are
currently set, including any options such as WHEN or DO clauses, /AFTER
counts, and so on, and whether the breakpoints are deactivated.
By default, SHOW BREAK displays information about both user-defined and
predefined breakpoints (if any). This is equivalent to entering the
SHOW BREAK/USER/PREDEFINED command. User-defined breakpoints are set
with the SET BREAK command. Predefined breakpoints are set
automatically when you start the debugger, and they depend on the type
of program you are debugging.
If you established a breakpoint using SET BREAK/AFTER:n, the
SHOW BREAK command displays the current value of the decimal integer
n, that is, the originally specified integer value minus 1 for
each time the breakpoint location was reached. (The debugger decrements
n each time the breakpoint location is reached until the value
of n is 0, at which time the debugger takes break action.)
On Alpha systems, the SHOW BREAK command does not display individual
instructions when the break is on a particular class of instruction (as
with SET BREAK/CALL or SET BREAK/RETURN).
Related commands:
(ACTIVATE,CANCEL,DEACTIVATE,SET) BREAK
Examples
#1 |
DBG> SHOW BREAK
breakpoint at SUB1\LOOP
breakpoint at MAIN\MAIN+1F
do (EX SUB1\D ; EX/SYMBOLIC PSL; GO)
breakpoint at routine SUB2\SUB2
/after: 2
DBG>
|
The SHOW BREAK command identifies all breakpoints that are currently
set. This example indicates user-defined breakpoints that are triggered
whenever execution reaches SUB1\LOOP, MAIN\MAIN, and SUB2\SUB2,
respectively.
#2 |
DBG> SHOW BREAK/PREDEFINED
predefined breakpoint on Ada event "DEPENDENTS_EXCEPTION"
for any value
predefined breakpoint on Ada event "EXCEPTION_TERMINATED"
for any value
DBG>
|
This command identifies the predefined breakpoints that are currently
set. The example shows two predefined breakpoints, which are associated
with Ada tasking exception events. These breakpoints are set
automatically by the debugger for all Ada programs and for any mixed
language program that is linked with an Ada module.
SHOW CALLS
Identifies the currently active routine calls.
Format
SHOW CALLS [integer]
Parameters
integer
A decimal integer that specifies the number of routine calls to be
identified. If you omit the parameter, the debugger identifies all
routine calls for which it has information.
Qualifiers
/IMAGE
Displays the image name for each active call on the call stack.
Description
The SHOW CALLS command shows a traceback that lists the sequence of
active routine calls that lead to the routine in which execution
appears suspended. Each recursive routine call is shown in the display,
that is, you can use the SHOW CALLS command to examine the chain of
recursion.
SHOW CALLS displays one line of information for each call frame on the
call stack, starting with the most recent call. The top line identifies
the currently executing routine, the next line identifies its caller,
the following line identifies the caller of the caller, and so on.
Even if your program contains no routine calls, the SHOW CALLS command
displays an active call because your program has at least one stack
frame built for it when it is first activated.
On Integrity server and Alpha processors, you also usually see a system
and sometimes a DCL base frame. Note that if the SHOW CALLS display
shows no active calls, either your program has terminated or the call
stack has been corrupted. As your program executes, whenever a call is
made to a routine a new call frame is built on the stack(s) or in the
register set. Each call frame stores information about the calling or
current routine. For example, the frame PC value enables the SHOW CALLS
command to symbolize to module and routine information.
On Alpha processors, a routine invocation results in either a stack
frame procedure (with a call frame on the memory stack), a register
frame procedure (with a call frame stored in the register set), or a
null frame procedure (without a call frame).
On Integrity server processors, a routine invocation can result in a
memory stack frame and/or a register stack frame. That is, there two
stacks on Integrity servers, register and memory. An Integrity server
routine invocation could result in call frames on one or the other or
both of those stacks. Also, an Integrity server leaf routine invocation
(that does not itself make calls) can result in a null frame procedure,
without a call frame on either stack. SHOW CALLS provides one line of
information, regardless of the which stack or register results. (See
the examples below.)
The following information is provided for each line of the SHOW CALLS
display:
- The name of the enclosing module. An asterisk (*) to the left of a
module name indicates that the module is set.
- The name of the calling routine, provided the module is set (the
first line shows the currently executing routine).
- The line number where the call was made in that routine, provided
the module is set (the first line shows the line number at which
execution is suspended).
- The value of the PC in the calling routine at the time that control
was transferred to the called routine. On Integrity server and Alpha
processors, the PC is shown as a memory address relative to the first
code address in the module and also as an absolute address.
When
you specify the /IMAGE qualifier, the debugger first does a SET IMAGE
command for each image that has debug information (that is, it was
linked using the /DEBUG or /TRACEBACK qualifier). The debugger then
displays the image name for each active call on the calls stack. The
output display has been expanded and displays the image name in the
first column. The debugger suppresses the share$image_name module
name, because that information is provided by the /IMAGE qualifier.
The SET IMAGE command lasts only for the duration of the SHOW
CALLS/IMAGE command. The debugger restores the set image state when the
SHOW CALLS/IMAGE command is complete.
On Integrity server and Alpha processors, the output of a SHOW CALLS
command may include system call frames in addition to the user call
frames associated with your program. System call frames appear in the
following circumstances:
- During exception dispatch
- During asynchronous system trap dispatch
- During system service dispatch
- When a watchpoint triggers in system space
- When stepping into system (includes installed resident RTLs) space
- As the call stack base frame
The display of system call frames does not indicate a problem.
Related commands:
SHOW SCOPE
SHOW STACK
Examples
#1 |
DBG> SHOW CALLS
module name routine name line rel PC abs PC
*MAIN FFFF 31 00000000000002B8 00000000000203C4
-the above appears to be a null frame in the same scope as the frame below
*MAIN MAIN 13 00000000000000A8 00000000000200A8
|
This example is on an Alpha system. Note that sections of routine
prologues and epilogues appear to the debugger to be null frames. The
portion of the prologue before the change in the frame pointer (FP) and
the portion of the epilogue after restoration of the FP each look like
a null frame, and are reported accordingly.
#2 |
DBG> SHOW CALLS
module name routine name line rel PC abs PC
*MAIN FFFF 18 0000000000000190 0000000000010190
*MAIN MAIN 14 0000000000000180 0000000000010180
FFFFFFFF80C2A200 FFFFFFFF80C2A200
|
This example is on Integrity servers. Note that Integrity server
prologues do not appear to be null frames to the debugger.
SHOW DEFINE
Identifies the default (/ADDRESS, /COMMAND, /PROCESS_GROUP, or /VALUE)
currently in effect for the DEFINE command.
Format
SHOW DEFINE
Description
The default qualifier for the DEFINE command is the one last
established with the SET DEFINE command. If you did not enter a SET
DEFINE command, the default qualifier is /ADDRESS.
To identify a symbol defined with the DEFINE command, use the SHOW
SYMBOL/DEFINED command.
Related commands:
DEFINE
DEFINE/PROCESS_SET
DELETE
SET DEFINE
SHOW SYMBOL/DEFINED
Example
|
DBG> SHOW DEFINE
Current setting is: DEFINE/ADDRESS
DBG>
|
This command indicates that the DEFINE command is set for definition by
address.
SHOW DISPLAY
Identifies one or more existing screen displays.
Note
This command is not available in the HP DECwindows Motif for OpenVMS user interface to
the debugger.
|
Format
SHOW DISPLAY [display-name[,...]]
Parameters
display-name
Specifies the name of a display. If you do not specify a name, or if
you specify the asterisk (*) wildcard character by itself, all display
definitions are listed. You can use the wildcard within a display name.
Do not specify a display name with the /ALL qualifier.
Qualifiers
/ALL
Lists all display definitions.
Description
The SHOW DISPLAY command lists all displays according to their order in
the display list. The most hidden display is listed first, and the
display that is on top of the display pasteboard is listed last.
For each display, the SHOW DISPLAY command lists its name, maximum
size, screen window, and display kind (including any debug command
list). It also identifies whether the display is removed from the
pasteboard or is dynamic (a dynamic display automatically adjusts its
window dimensions if the screen size is changed with the SET TERMINAL
command).
Related commands:
DISPLAY
EXTRACT/SCREEN_LAYOUT
(CANCEL) DISPLAY
(SET,CANCEL,SHOW) WINDOW
SHOW SELECT
Example
|
DBG> SHOW DISPLAY
display SRC at H1, size = 64, dynamic
kind = SOURCE (EXAMINE/SOURCE .%SOURCE_SCOPE\%PC)
display INST at H1, size = 64, removed, dynamic
kind = INSTRUCTION (EXAMINE/INSTRUCTION .0\%PC)
display REG at RH1, size = 64, removed, dynamic, kind = REGISTER
display OUT at S45, size = 100, dynamic, kind = OUTPUT
display EXSUM at Q3, size = 64, dynamic, kind = DO (EXAMINE SUM)
display PROMPT at S6, size = 64, dynamic, kind = PROGRAM
DBG>
|
The SHOW DISPLAY command lists all displays currently defined. In this
example, they include the five predefined displays (SRC, INST, REG,
OUT, and PROMPT), and the user-defined DO display EXSUM. Displays INST
and REG are removed from the display pasteboard: the DISPLAY command
must be used to display them on the screen.
SHOW EDITOR
Indicates the action taken by the EDIT command, as established by the
SET EDITOR command.
Format
SHOW EDITOR
Description
Related commands:
EDIT
SET EDITOR
Examples
#1 |
DBG> SHOW EDITOR
The editor is SPAWNed, with command line
"EDT/START_POSITION=(n,1)"
DBG>
|
In this example, the EDIT command spawns the EDT editor in a
subprocess. The /START_POSITION qualifier appended to the command line
indicates that the editing cursor is initially positioned at the
beginning of the line that is centered in the debugger's current source
display.
#2 |
DBG> SET EDITOR/CALLABLE_TPU
DBG> SHOW EDITOR
The editor is CALLABLE_TPU, with command line "TPU"
DBG>
|
In this example, the SHOW EDITOR command indicates that the EDIT
command invokes the callable version of the DEC Text Processing Utility
(DECTPU). The editing cursor is initially positioned at the beginning
of source line 1.
SHOW EVENT_FACILITY
Identifies the current event facility and the associated event names.
Event facilities are available for programs that call Ada routines or
that use POSIX Threads services. On VAX, event facilities are also
available for programs that call SCAN routines.
Format
SHOW EVENT_FACILITY
Description
The current event facility (ADA, THREADS, or SCAN) defines the
eventpoints that you can set with the SET BREAK/EVENT and SET
TRACE/EVENT commands.
The SHOW EVENT_FACILITY command identifies the event names associated
with the current event facility. These are the keywords that you can
specify with the (SET,CANCEL) BREAK/EVENT and (SET,CANCEL) TRACE/EVENT
commands.
Related commands:
(SET,CANCEL) BREAK/EVENT
SET EVENT_FACILITY
(SET,CANCEL) TRACE/EVENT
SHOW BREAK
SHOW TASK
SHOW TRACE
Example
|
DBG> SHOW EVENT_FACILITY
event facility is THREADS
...
|
This command identifies the current event facility to be THREADS
(POSIX Threads) and lists the associated event names that can be used
with SET BREAK/EVENT or SET TRACE/EVENT commands.
SHOW EXIT_HANDLERS
Identifies the exit handlers that have been declared in your program.
Format
SHOW EXIT_HANDLERS
Description
The exit handler routines are displayed in the order that they are
called (that is, last in, first out). The routine name is displayed
symbolically, if possible. Otherwise, its address is displayed. The
debugger's exit handlers are not displayed.
Example
|
DBG> SHOW EXIT_HANDLERS
exit handler at STACKS\CLEANUP
DBG>
|
This command identifies the exit handler routine CLEANUP, which is
declared in module STACKS.
SHOW IMAGE
Displays information about one or more images that are part of your
running program.
Format
SHOW IMAGE [image-name]
Parameters
image-name
Specifies the name of an image to be included in the display. If you do
not specify a name, or if you specify the asterisk (*) wildcard
character by itself, all images are listed. You can use the wildcard
within an image name.
Qualifiers
/FULL
Displays complete information for a running image. This information
includes all of the image sections and their addresses.
/ALL
Displays all the images, including those for which the Debugger was
unable to complete processing. In that case, the debugger shows the
image name without the base and end address.
Description
The SHOW IMAGE command displays the following information:
- Name of the image
- Start and end addresses of the image
- Whether the image has been set with the SET IMAGE command (loaded
into the run-time symbol table, RST)
- Current image that is your debugging context (marked with an
asterisk (*))
- Total number of images selected in the display
- Approximate number of bytes allocated for the RST and other
internal structures
- A summary of the address space occupied by the images in your
process
On Integrity servers and Alpha, if you specify an image name or use the
/FULL qualifier, the image sections for the image are also displayed.
On Integrity servers, the /ALL qualifier displays all the images,
including those for which the Debugger is unable to complete
processing. In that case, the debugger shows the image name without the
base and end address.
In the following example, the Debugger is unable to complete processing
for the SYS$PUBLIC_VECTORS image:
DBG> SHOW IMAGE/ALL
image name set base address end address
CMA$TIS_SHR no 000000007B54A000 000000007B5694EF
*C_MAIN yes 0000000000010000 00000000000400F7
C_SHARED_AV no 0000000000042000 00000000000A20DF
DBGTBKMSG no 000000000068A000 0000000000697D03
DCL no 000000007ADCC000 000000007AEF7217
DEBUG no 00000000002DC000 000000000062F037
DECC$MSG no 000000000067E000 0000000000681F5F
DECC$SHR no 000000007B8F6000 000000007B95803F
DPML$SHR no 000000007B6DC000 000000007B738C97
LIBOTS no 000000007B37C000 000000007B38D9B7
LIBRTL no 000000007B34A000 000000007B37A06F
SHRIMGMSG no 0000000000682000 000000000068881C
SYS$PUBLIC_VECTORS no
SYS$SSISHR no 0000000000630000 00000000006442F7
SYS$SSISHRP no 0000000000646000 00000000006501F7
TIE$SHARE no 00000000000A4000 00000000002A87CF
|
SHOW IMAGE does not display all of the memory ranges of an image
installed using the /RESIDENT qualifier. Instead, this command displays
only the process data region.
Related commands:
(SET,CANCEL) IMAGE
(SET,SHOW) MODULE
Example
|
DBG> SHOW IMAGE SHARE*
image name set base address end address
*SHARE yes 00000200 00000FFF
SHARE1 no 00001000 000017FF
SHARE2 yes 00018C00 000191FF
SHARE3 no 00019200 000195FF
SHARE4 no 00019600 0001B7FF
total images: 5 bytes allocated: 33032
DBG>
|
This SHOW IMAGE command identifies all of the images whose names start
with SHARE and which are associated with the program. Images SHARE and
SHARE2 are set. The asterisk (*) identifies SHARE as the current image.
|