1 – 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
1.1 – 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
1.2 – 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.
2 – AST
Indicates whether delivery of asynchronous system traps (ASTs) is
enabled or disabled.
Format
SHOW AST
2.1 – 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
2.2 – 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.
3 – 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
3.1 – Description
Related commands:
@ (Execute Procedure)
SET ATSIGN
3.2 – 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.
4 – BREAK
Displays information about breakpoints.
Format
SHOW BREAK
4.1 – Qualifiers
4.1.1 /PREDEFINED
Displays information about predefined breakpoints.
4.1.2 /USER
Displays information about user-defined breakpoints.
4.2 – 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
4.3 – 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.
5 – CALLS
Identifies the currently active routine calls.
Format
SHOW CALLS [integer]
5.1 – 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.
5.2 – Qualifiers
5.2.1 /IMAGE
Displays the image name for each active call on the call stack.
5.3 – 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 Alpha and Integrity server 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.)
5.4 – Description, Continued...
The following information is provided for each line of the SHOW
CALLS display:
o The name of the enclosing module. An asterisk (*) to the left
of a module name indicates that the module is set.
o The name of the calling routine, provided the module is set
(the first line shows the currently executing routine).
o 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).
o The value of the PC in the calling routine at the time
that control was transferred to the called routine. On VAX
processors, the PC value is shown as a memory address relative
to the nearest preceding symbol value (for example, a routine)
and also as an absolute address. On Alpha and Integrity server
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.
Related commands:
SHOW SCOPE
SHOW STACK
5.5 – 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
0000000000000000 FFFFFFFF8255A1F8
This example has been reformatted for Help, and may appear
slightly different from the actual output display. 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 has been reformatted for Help, and may appear
slightly different from the actual output display. This example
is on Integrity servers. Note that Integrity server prologues
do not appear to be null frames to the debugger.
6 – DEFINE
Identifies the default (/ADDRESS, /COMMAND, /PROCESS_GROUP, or
/VALUE) currently in effect for the DEFINE command.
Format
SHOW DEFINE
6.1 – 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
6.2 – Example
DBG> SHOW DEFINE
Current setting is: DEFINE/ADDRESS
DBG>
This command indicates that the DEFINE command is set for
definition by address.
7 – 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[, . . . ]]
7.1 – 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.
7.2 – Qualifiers
7.2.1 /ALL
Lists all display definitions.
7.3 – 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
7.4 – 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.
8 – EDITOR
Indicates the action taken by the EDIT command, as established by
the SET EDITOR command.
Format
SHOW EDITOR
8.1 – Description
Related commands:
EDIT
SET EDITOR
8.2 – 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.
9 – 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 processors,
event facilities are also available for programs that call SCAN
routines.
Format
SHOW EVENT_FACILITY
9.1 – 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
9.2 – 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.
10 – EXIT_HANDLERS
Identifies the exit handlers that have been declared in your
program.
Format
SHOW EXIT_HANDLERS
10.1 – 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.
10.2 – 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.
11 – IMAGE
Displays information about one or more images that are part of
your running program.
Format
SHOW IMAGE [image-name]
11.1 – 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.
11.2 – Qualifiers
11.2.1 /FULL
Displays complete information for a running image. This
information includes all of the image sections and their
addresses.
11.3 – Description
The SHOW IMAGE command displays the following information:
o Name of the image
o Start and end addresses of the image
o Whether the image has been set with the SET IMAGE command
(loaded into the run-time symbol table, RST)
o Current image that is your debugging context (marked with an
asterisk (*))
o Total number of images selected in the display
o Approximate number of bytes allocated for the RST and other
internal structures
o 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
11.4 – 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.
12 – KEY
Displays the debugger predefined key definitions and those
created by the DEFINE/KEY command.
NOTE
This command is not available in the HP DECwindows Motif for
OpenVMS user interface to the debugger.
Format
SHOW KEY [key-name]
12.1 – Parameters
key-name
Specifies a function key whose definition is displayed. Do not
use the asterisk (*) wildcard character. Instead, use the /ALL
qualifier. Do not specify a key name with /ALL or /DIRECTORY.
Valid key names are as follows:
Key LK201
Name Keyboard VT100-type VT52-type
PF1 PF1 PF1 Blue
PF2 PF2 PF2 Red
PF3 PF3 PF3 Black
PF4 PF4 PF4
KP0-KP9 Keypad 0-9 Keypad 0-9 Keypad 0-9
PERIOD Keypad Keypad
period (.) period (.)
COMMA Keypad comma Keypad comma
(,) (,)
ENTER Enter ENTER ENTER
E1 Find
E2 Insert Here
E3 Remove
E4 Select
E5 Prev Screen
E6 Next Screen
HELP Help
DO Do
F6-F20 F6-F20
12.2 – Qualifiers
12.2.1 /ALL
Displays all key definitions for the current state, by default,
or for the states specified with /STATE.
12.2.2 /BRIEF
Displays only the key definitions (by default, all qualifiers
associated with a key definition are also shown, including any
specified state).
12.2.3 /DIRECTORY
Displays the names of all the states for which keys have been
defined. Do not specify other qualifiers with this qualifier.
12.2.4 /STATE
/STATE=(state-name [, . . . ])
/NOSTATE (default)
Selects one or more states for which a key definition is
displayed. The /STATE qualifier displays key definitions for the
specified states. You can specify predefined key states, such as
DEFAULT and GOLD, or user-defined states. A state name can be any
appropriate alphanumeric string. The /NOSTATE qualifier displays
key definitions for the current state only.
12.3 – Description
Keypad mode must be enabled (SET MODE KEYPAD) before you can use
this command. Keypad mode is enabled by default.
By default, the current key state is the DEFAULT state. You can
change the current state by using the SET KEY/STATE command or
by pressing a key that causes a state change (that is, a key that
was defined with DEFINE/KEY/LOCK_STATE or /SET_STATE).
Related commands:
DEFINE/KEY
DELETE/KEY
SET KEY
12.4 – Examples
1.DBG> SHOW KEY/ALL
This command displays all the key definitions for the current
state.
2.DBG> SHOW KEY/STATE=BLUE KP8
GOLD keypad definitions:
KP8 = "Scroll/Top" (noecho,terminate,nolock)
DBG>
This command displays the definition for keypad key 8 in the
BLUE state.
3.DBG> SHOW KEY/BRIEF KP8
DEFAULT keypad definitions:
KP8 = "Scroll/Up"
DBG>
This command displays the definition for keypad key 8 in the
current state.
4.DBG> SHOW KEY/DIRECTORY
MOVE_GOLD
MOVE_BLUE
MOVE
GOLD
EXPAND_GOLD
EXPAND_BLUE
EXPAND
DEFAULT
CONTRACT_GOLD
CONTRACT_BLUE
CONTRACT
BLUE
DBG>
This command displays the names of the states for which keys
have been defined.
13 – LANGUAGE
Identifies the current language.
Format
SHOW LANGUAGE
13.1 – Description
The current language is the language last established with
the SET LANGUAGE command. If you did not enter a SET LANGUAGE
command, the current language is, by default, the language of the
module containing the main program.
Related command:
SET LANGUAGE
13.2 – Example
DBG> SHOW LANGUAGE
language: BASIC
DBG>
This command displays the name of the current language as
BASIC.
14 – LOG
Indicates whether the debugger is writing to a log file and
identifies the current log file.
Format
SHOW LOG
14.1 – Description
The current log file is the log file last established by a SET
LOG command. By default, if you did not enter a SET LOG command,
the current log file is the file SYS$DISK:[]DEBUG.LOG.
Related commands:
SET LOG
SET OUTPUT [NO]LOG
SET OUTPUT [NO]SCREEN_LOG
14.2 – Examples
1.DBG> SHOW LOG
not logging to DEBUG.LOG
DBG>
This command displays the name of the current log file as
DEBUG.LOG (the default log file) and reports that the debugger
is not writing to it.
2.DBG> SET LOG PROG4
DBG> SET OUTPUT LOG
DBG> SHOW LOG
logging to USER$:[JONES.WORK]PROG4.LOG
DBG>
In this example, the SET LOG command establishes that the
current log file is PROG4.LOG (in the current default
directory). The SET OUTPUT LOG command causes the debugger
to log debugger input and output into that file. The SHOW LOG
command confirms that the debugger is writing to the log file
PROG4.COM in your current default directory.
15 – MARGINS
Identifies the current source-line margin settings for displaying
source code.
NOTE
This command is not available in the HP DECwindows Motif for
OpenVMS user interface to the debugger.
Format
SHOW MARGINS
15.1 – Description
The current margin settings are the margin settings last
established with the SET MARGINS command. By default, if you
did not enter a SET MARGINS command, the left margin is set to 1
and the right margin is set to 255.
Related command:
SET MARGINS
15.2 – Examples
1.DBG> SHOW MARGINS
left margin: 1 , right margin: 255
DBG>
This command displays the default margin settings of 1 and 255.
2.DBG> SET MARGINS 50
DBG> SHOW MARGINS
left margin: 1 , right margin: 50
DBG>
This command displays the default left margin setting of 1 and
the modified right margin setting of 50.
3.DBG> SET MARGINS 10:60
DBG> SHOW MARGINS
left margin: 10 , right margin: 60
DBG>
This command displays both margin settings modified to 10 and
60.
16 – MODE
Identifies the current debugger modes (screen or no screen,
keypad or nokeypad, and so on) and the current radix.
Format
SHOW MODE
16.1 – Description
The current debugger modes are the modes last established with
the SET MODE command. By default, if you did not enter a SET MODE
command, the current modes are the following:
DYNAMIC
NOG_FLOAT (D_float)
INTERRUPT
KEYPAD
LINE
NOSCREEN
SCROLL
NOSEPARATE
SYMBOLIC
Related commands:
(SET,CANCEL) MODE
(SET,SHOW,CANCEL) RADIX
16.2 – Example
DBG> SHOW MODE
modes: symbolic, line, d_float, screen, scroll, keypad,
dynamic, interrupt, no separate window
input radix :decimal
output radix:decimal
DBG>
The SHOW MODE command displays the current modes and current
input and output radix.
17 – MODULE
Displays information about the modules in the current image.
Format
SHOW MODULE [module-name]
17.1 – Parameters
module-name
Specifies the name of a module to be included in the display. If
you do not specify a name, or if you specify the asterisk (*)
wildcard character by itself, all modules are listed. You can
use a wildcard within a module name. Shareable image modules are
selected only if you specify /SHARE.
17.2 – Qualifiers
17.2.1 /RELATED
/RELATED
/NORELATED (default)
(Applies to Ada programs.) Controls whether the debugger
includes, in the SHOW MODULE display, any module that is
related to a specified module through a with-clause or subunit
relationship.
The SHOW MODULE/RELATED command displays related modules as
well as those specified. The display identifies the exact
relationship. By default (/NORELATED), no related modules are
selected for display (only the modules specified are selected).
17.2.2 /SHARE
/SHARE
/NOSHARE (default)
Controls whether the debugger includes, in the SHOW MODULE
display, any shareable images that have been linked with your
program. By default (/NOSHARE) no shareable image modules are
selected for display.
The debugger creates dummy modules for each shareable image in
your program. The names of these shareable "image modules" have
the prefix SHARE$. The SHOW MODULE/SHARE command identifies these
shareable image modules, as well as the modules in the current
image.
Setting a shareable image module loads the universal symbols
for that image into the run-time symbol table so that you can
reference these symbols from the current image. However, you
cannot reference other (local or global) symbols in that image
from the current image. This feature overlaps the effect of the
newer SET IMAGE and SHOW IMAGE commands.
17.3 – Description
The SHOW MODULE command displays the following information about
one or more modules selected for display:
o Name of the module
o Programming language in which the module is coded, unless all
modules are coded in the same language
o Whether the module has been set with the SET MODULE command.
That is, whether the symbol records of the module have been
loaded into the debugger's run-time symbol table (RST)
o Space (in bytes) required in the RST for symbol records in
that module
o Total number of modules selected in the display
o Number of bytes allocated for the RST and other internal
structures (the amount of heap space in use in the main
debugger's process)
NOTE
The current image is either the main image (by default) or
the image established as the current image by a previous SET
IMAGE command.
For information specific to Ada programs, type Help
Language_Support Ada.
Related commands:
(SET,SHOW,CANCEL) IMAGE
SET MODE [NO]DYNAMIC
(SET) MODULE
(SET,SHOW,CANCEL) SCOPE
SHOW SYMBOL
17.4 – Examples
1.DBG> SHOW MODULE
module name symbols size
TEST yes 432
SCREEN_IO no 280
total PASCAL modules: 2. bytes allocated: 2740.
DBG>
In this example, the SHOW MODULE command, without a parameter,
displays information about all of the modules in the current
image, which is the main image by default. This example shows
the display format when all modules have the same source
language. The symbols column shows that module TEST has been
set, but module SCREEN_IO has not.
2.DBG> SHOW MODULE FOO,MAIN,SUB*
module name symbols language size
FOO yes MACRO 432
MAIN no FORTRAN 280
SUB1 no FORTRAN 164
SUB2 no FORTRAN 204
total modules: 4. bytes allocated: 60720.
DBG>
In this example, the SHOW MODULE command displays information
about the modules FOO and MAIN, and all modules having the
prefix SUB. This example shows the display format when the
modules do not have the same source language.
3.DBG> SHOW MODULE/SHARE
module name symbols language size
FOO yes MACRO 432
MAIN no FORTRAN 280
. . .
SHARE$DEBUG no Image 0
SHARE$LIBRTL no Image 0
SHARE$MTHRTL no Image 0
SHARE$SHARE1 no Image 0
SHARE$SHARE2 no Image 0
total modules: 17. bytes allocated: 162280.
DBG> SET MODULE SHARE$SHARE2
DBG> SHOW SYMBOL * IN SHARE$SHARE2
In this example, the SHOW MODULE/SHARE command identifies all
of the modules in the current image and all of the shareable
images (the names of the shareable images are prefixed with
SHARE$. The SET MODULE SHARE$SHARE2 command sets the shareable
image module SHARE$SHARE2. The SHOW SYMBOL command identifies
any universal symbols defined in the shareable image SHARE2.
18 – OUTPUT
Identifies the current output options.
Format
SHOW OUTPUT
18.1 – Description
The current output options are the options last established with
the SET OUTPUT command. By default, if you did not enter a SET
OUTPUT command, the output options are: NOLOG, NOSCREEN_LOG,
TERMINAL, NOVERIFY.
Related commands:
SET LOG
SET MODE SCREEN
SET OUTPUT
18.2 – Example
DBG> SHOW OUTPUT
noverify, terminal, screen_log,
logging to USER$:[JONES.WORK]DEBUG.LOG;9
DBG>
This command shows the following current output options:
o Debugger commands read from debugger command procedures are
not echoed on the terminal.
o Debugger output is being displayed on the terminal.
o The debugging session is being logged to the log file
USER$:[JONES.WORK]DEBUG.LOG;9.
o The screen contents are logged as they are updated in screen
mode.
19 – PROCESS
Displays information about processes that are currently under
debugger control.
Format
SHOW PROCESS [process-spec[, . . . ]]
19.1 – Parameters
process-spec
Specifies a process currently under debugger control. Use any of
the following forms:
[%PROCESS_NAME] process- The process name, if that name does not
name contain spaces or lowercase characters.
The process name can include the
asterisk (*) wildcard character.
[%PROCESS_NAME] The process name, if that name contains
"process-name " spaces or lowercase characters. You
can also use apostrophes (') instead of
quotation marks (").
%PROCESS_PID process_id The process identifier (PID, a
hexadecimal number).
[%PROCESS_NUMBER] The number assigned to a process when
process-number it comes under debugger control. A
(or %PROC process- new number is assigned sequentially,
number) starting with 1, to each process. If
a process is terminated with the EXIT
or QUIT command, the number can be
assigned again during the debugging
session. Process numbers appear in a
SHOW PROCESS display. Processes are
ordered in a circular list so they can
be indexed with the built-in symbols
%PREVIOUS_PROCESS and %NEXT_PROCESS.
process-set-name A symbol defined with the
DEFINE/PROCESS_SET command to represent
a group of processes.
%NEXT_PROCESS The next process after the visible
process in the debugger's circular
process list.
%PREVIOUS_PROCESS The process previous to the visible
process in the debugger's circular
process list.
%VISIBLE_PROCESS The process whose stack, register set,
and images are the current context for
looking up symbols, register values,
routine calls, breakpoints, and so on.
You can also use the asterisk (*) wildcard character or the /ALL
qualifier to specify all processes. Do not specify a process with
/ALL or /DYNAMIC. If you do not specify a process or /ALL with
/BRIEF, /FULL, or /[NO]HOLD, the visible process is selected.
19.2 – Qualifiers
19.2.1 /ALL
Selects all processes known to the debugger for display.
19.2.2 /BRIEF
(Default) Displays only one line of information for each process
selected for display.
19.2.3 /DYNAMIC
Shows whether dynamic process setting is enabled or disabled.
Dynamic process setting is enabled by default and is controlled
with the SET PROCESS/[NO]DYNAMIC command.
19.2.4 /FULL
Displays maximum information for each process selected for
display.
19.2.5 /VISIBLE
(Default). Selects the visible process for display.
19.3 – Description
The SHOW PROCESS command displays information about specified
processes and any images running in those processes.
The SHOW PROCESS/FULL command also displays information about the
availability and use of the vector processor. This information
is useful if you are debugging a program that uses vector
instructions.
A process can first appear in a SHOW PROCESS display as soon as
it comes under debugger control. A process can no longer appear
in a SHOW PROCESS display if it is terminated through an EXIT or
QUIT command.
By default (/BRIEF), one line of information is displayed for
each process, including the following:
o The process number assigned by the debugger. A process number
is assigned sequentially, starting with process 1, to each
process that comes under debugger control. If a process is
terminated by an EXIT or QUIT command, its process number is
not reused during that debugging session. The visible process
is marked with an asterisk (*) in the leftmost column.
o The process name.
o The current debugging state for that process.
o The location (symbolized, if possible) at which execution of
the image is suspended in that process.
The SHOW PROCESS/FULL command gives additional information about
processes (see the examples).
Related commands:
CONNECT
Ctrl/C
DEFINE/PROCESS_SET
EXIT
QUIT
SET PROCESS
19.4 – Examples
1.all> SHOW PROCESS
Number Name State Current PC
* 2 _WTA3: break SCREEN\%LINE 47
all>
By default, the SHOW PROCESS command displays one line of
information about the visible process (which is identified
with an asterisk (*) in the leftmost column). The process has
the process name _WTA3:. It is the second process brought under
debugger control (process number 2). It is on hold, and the
image's execution is suspended at a breakpoint at line 47 of
module SCREEN.
2.all> SHOW PROCESS TEST_3
Number Name State Current PC
7 TEST_3 watch of TEST_3\ROUT4\COUNT
TEST_3\%LINE 54
all>
This SHOW PROCESS command displays one line of information
about process TEST_3. The image is suspended at a watchpoint of
variable COUNT.
3.all> SHOW PROCESS/DYNAMIC
Dynamic process setting is enabled
all>
This command indicates that dynamic process setting is enabled.
20 – RADIX
Identifies the current radix for the entry and display of integer
data or, if you specify /OVERRIDE, the current override radix.
Format
SHOW RADIX
20.1 – Qualifiers
20.1.1 /OVERRIDE
Identifies the current override radix.
20.2 – Description
The debugger can interpret and display integer data in any one
of four radixes: binary, decimal, hexadecimal, and octal. The
current radix for the entry and display of integer data is the
radix last established with the SET RADIX command.
If you did not enter a SET RADIX command, the default radix for
both data entry and display is decimal for most languages. The
exceptions are BLISS and MACRO, which have a default radix of
hexadecimal.
The current override radix for the display of all data is the
override radix last established with the SET RADIX/OVERRIDE
command. If you did not enter a SET RADIX/OVERRIDE command, the
override radix is "none".
Related commands:
DEPOSIT
EVALUATE
EXAMINE
(SET,CANCEL) RADIX
20.3 – Examples
1.DBG> SHOW RADIX
input radix: decimal
output radix: decimal
DBG>
This command identifies the input radix and output radix as
decimal.
2.DBG> SET RADIX/OVERRIDE HEX
DBG> SHOW RADIX/OVERRIDE
output override radix: hexadecimal
DBG>
In this example, the SET RADIX/OVERRIDE command sets the
override radix to hexadecimal and the SHOW RADIX/OVERRIDE
command indicates the override radix. This means that commands
such as EXAMINE display all data as hexadecimal integer data.
21 – SCOPE
Identifies the current scope search list for symbol lookup.
Format
SHOW SCOPE
21.1 – Description
The current scope search list designates one or more program
locations (specified by path names or other special characters)
to be used in the interpretation of symbols that are specified
without pathname prefixes in debugger commands.
The current scope search list is the scope search list last
established with the SET SCOPE command. By default, if you did
not enter a SET SCOPE command, the current scope search list is
0,1,2, . . . ,n.
The default scope search list specifies that, for a symbol
without a pathname prefix, a symbol lookup such as EXAMINE X
first looks for X in the routine that is currently executing
(scope 0); if no X is visible there, the debugger looks in the
caller of that routine (scope 1), and so on down the call stack;
if X is not found in scope n, the debugger searches the rest of
the run-time symbol table (RST)-that is, all set modules and the
global symbol table (GST), if necessary.
If you used a decimal integer in the SET SCOPE command to
represent a routine in the call stack, the SHOW SCOPE command
displays the name of the routine represented by the integer, if
possible.
Related commands:
(SET,CANCEL) SCOPE
21.2 – Examples
1.DBG> CANCEL SCOPE
DBG> SHOW SCOPE
scope:
* 0 [ = EIGHTQUEENS\TRYCOL\REMOVEQUEEN ],
1 [ = EIGHTQUEENS\TRYCOL ],
2 [ = EIGHTQUEENS\TRYCOL 1 ],
3 [ = EIGHTQUEENS\TRYCOL 2 ],
4 [ = EIGHTQUEENS\TRYCOL 3 ],
5 [ = EIGHTQUEENS\TRYCOL 4 ],
6 [ = EIGHTQUEENS ]
DBG> SET SCOPE/CURRENT 2
DBG> SHOW SCOPE
scope:
0 [ = EIGHTQUEENS\TRYCOL\REMOVEQUEEN ],
1 [ = EIGHTQUEENS\TRYCOL ],
* 2 [ = EIGHTQUEENS\TRYCOL 1 ],
3 [ = EIGHTQUEENS\TRYCOL 2 ],
4 [ = EIGHTQUEENS\TRYCOL 3 ],
5 [ = EIGHTQUEENS\TRYCOL 4 ],
6 [ = EIGHTQUEENS ]
DBG>
The CANCEL SCOPE command restores the default scope search
list, which is displayed by the (first) SHOW SCOPE command. In
this example, execution is suspended at routine REMOVEQUEEN,
after several recursive calls to routine TRYCOL. The asterisk
(*) indicates that the scope search list starts with scope 0,
the scope of the routine in which execution is suspended.
The SET SCOPE/CURRENT command resets the start of the scope
search list to scope 2. Scope 2 is the scope of the caller of
the routine in which execution is suspended. The asterisk in
the output of the (second) SHOW SCOPE command indicates that
the scope search list now starts with scope 2.
2.DBG> SET SCOPE 0,STACKS\R2,SCREEN_IO,\
DBG> SHOW SCOPE
scope:
0, [= TEST ],
STACKS\R2,
SCREEN_IO,
\
DBG>
In this example, the SET SCOPE command directs the debugger
to look for symbols without pathname prefixes according to
the following scope search list. First the debugger looks in
the PC scope (denoted by 0, which is in module TEST). If the
debugger cannot find a specified symbol in the PC scope, it
then looks in routine R2 of module STACKS; if necessary, it
then looks in module SCREEN_IO, and then finally in the global
symbol table (denoted by the global scope (\)). The SHOW SCOPE
command identifies the current scope search list for symbol
lookup. No asterisk is shown in the SHOW SCOPE display unless
the default scope search list is in effect or you have entered
a SET SCOPE/CURRENT command.
22 – SEARCH
Identifies the default qualifiers (/ALL or /NEXT, /IDENTIFIER or
/STRING) currently in effect for the SEARCH command.
Format
SHOW SEARCH
22.1 – Description
The default qualifiers for the SEARCH command are the default
qualifiers last established with the SET SEARCH command. If you
did not enter a SET SEARCH command, the default qualifiers are
/NEXT and /STRING.
Related commands:
SEARCH
(SET,SHOW) LANGUAGE
SET SEARCH
22.2 – Example
DBG> SHOW SEARCH
search settings: search for next occurrence, as a string
DBG> SET SEARCH IDENT
DBG> SHOW SEARCH
search settings: search for next occurrence, as an identifier
DBG> SET SEARCH ALL
DBG> SHOW SEARCH
search settings: search for all occurrences, as an identifier
DBG>
In this example, the first SHOW SEARCH command displays the
default settings for the SET SEARCH command. By default, the
debugger searches for and displays the next occurrence of the
string.
The second SHOW SEARCH command indicates that the debugger
searches for the next occurrence of the string, but displays
the string only if it is not bounded on either side by a
character that can be part of an identifier in the current
language.
The third SHOW SEARCH command indicates that the debugger
searches for all occurrences of the string, but displays
the strings only if they are not bounded on either side by a
character that can be part of an identifier in the current
language.
23 – SELECT
Identifies the displays currently selected for each of the
display attributes: error, input, instruction, output, program,
prompt, scroll, and source.
NOTE
This command is not available in the HP DECwindows Motif for
OpenVMS user interface to the debugger.
Format
SHOW SELECT
23.1 – Description
The display attributes have the following properties:
o A display that has the error attribute displays debugger
diagnostic messages.
o A display that has the input attribute echoes your debugger
input.
o A display that has the instruction attribute displays the
decoded instruction stream of the routine being debugged.
The display is updated when you enter an EXAMINE/INSTRUCTION
command.
o A display that has the output attribute displays any debugger
output that is not directed to another display.
o A display that has the program attribute displays program
input and output. Currently only the PROMPT display can have
the program attribute.
o A display that has the prompt attribute is where the debugger
prompts for input. Currently, only the PROMPT display can have
the PROMPT attribute.
o A display that has the scroll attribute is the default display
for the SCROLL, MOVE, and EXPAND commands.
o A display that has the source attribute displays the source
code of the module being debugged, if available. The display
is updated when you enter a TYPE or EXAMINE/SOURCE command.
Related commands:
SELECT
SHOW DISPLAY
23.2 – Example
DBG> SHOW SELECT
display selections:
scroll = SRC
input = none
output = OUT
error = PROMPT
source = SRC
instruction = none
program = PROMPT
prompt = PROMPT
DBG>
The SHOW SELECT command identifies the displays currently
selected for each of the display attributes. These selections
are the defaults for languages.
24 – SOURCE
Identifies the source directory search lists and search methods
currently in effect.
Format
SHOW SOURCE
24.1 – Qualifiers
24.1.1 /DISPLAY
Identifies the search list used when the debugger displays source
code.
24.1.2 /EDIT
Identifies the search list to be used during execution of the
debugger's EDIT command.
24.2 – Description
The SET SOURCE/MODULE=module-name command establishes a source
directory search list for a particular module. The SET SOURCE
command establishes a source directory search list for all
modules not explicitly mentioned in a SET SOURCE/MODULE=module-
name command. When you have used those commands, SHOW SOURCE
identifies the source directory search list associated with each
search category.
If a source directory search list has not been established by
using the SET SOURCE or SET SOURCE/MODULE=module-name command,
the SHOW SOURCE command indicates that no directory search list
is currently in effect. In this case, the debugger expects each
source file to be in the same directory that it was in at compile
time (the debugger also checks that the version number and the
creation date and time of a source file match the information in
the debugger's symbol table).
The /EDIT qualifier is needed when the files used for the display
of source code are different from the files to be edited by using
the EDIT command. This is the case with Ada programs. For Ada
programs, the SHOW SOURCE command identifies the search list of
files used for source display (the copied source files in Ada
program libraries); the SHOW SOURCE/EDIT command identifies the
search list for the source files you edit when using the EDIT
command.
For information specific to Ada programs, see the
Language_Support Ada help topic.
Related commands:
(SET,CANCEL) SOURCE
24.3 – Examples
1.DBG> SHOW SOURCE
no directory search list in effect,
match the latest source file version
DBG> SET SOURCE [PROJA],[PROJB],DISK:[PETER.PROJC]
DBG> SHOW SOURCE
source directory search list for all modules,
match the latest source file version:
[PROJA]
[PROJB]
DISK:[PETER.PROJC]
DBG>
In this example, the SET SOURCE command directs the debugger to
search the directories [PROJA],[PROJB], and DISK:[PETER.PROJC].
By default, the debugger searches for the latest version of
source files.
2.DBG> SET SOURCE/MODULE=CTEST/EXACT [], DISK$2:[PROJD]
DBG> SHOW SOURCE
source directory search list for CTEST,
match the exact source file version:
[]
DISK$2:[PROJD]
source directory search list for all other modules,
match the latest source file version:
[PROJA]
[PROJB]
DISK:[PETER.PROJC]
DBG>
In this example, the SET SOURCE command directs the debugger
to search the current default directory ([]) and directory
DISK$2:[PROJD] for source files to use with the module CTEST.
The /EXACT qualifier specifies that the search will locate
the exact version of the CTEST source files found in the debug
symbol table.
25 – STACK
Displays information on the currently active routine calls.
Format
SHOW STACK [integer]
25.1 – Parameters
integer
Specifies the number of frames to display. If you omit the
parameter, the debugger displays information about all call
frames.
25.2 – Qualifiers
25.2.1 /START_LEVEL
/START_LEVEL=n
Directs SHOW STACK to begin displaying information at call frame
level n. For example, to see stack information for only frame 3,
enter the following command:
DBG> SHOW STACK/START=3 1
To see details for the 4th and 5th stack frames, enter the
following command:
DBG> SHOW STACK/START=4 2
25.3 – Description
For each call frame, the SHOW STACK command displays information
such as stack pointers, condition handler, saved register values
(Alpha), local register allocation (Integrity servers). Note that
an argument passed through a register or an argument list may
contain the addresses of the actual argument. In such cases, use
the EXAMINE address-expression command to display the values of
these arguments.
On Alpha and Integrity server processors, a routine invocation
can result in:
o A stack frame procedure, with a call frame on the memory
stack,
o A register frame procedure, with a call frame stored in the
register set (Alpha) or on the register stack (Integrity
servers), or
o A null frame procedure, without a call frame
The SHOW STACK command provides information on all three
procedures: stack frame, register frame, and null frame. (See
the examples below.)
Related command:
SHOW CALLS
25.4 – Examples
Alpha example:
DBG> SHOW STACK
invocation block 0
FP: 000000007F907AD0
Detected what appears to be a NULL frame
NULL frames operate in the same invocation context as their caller
NULL Procedure Descriptor (0000000000010050):
Flags: 3089
KIND: PDSC$K_KIND_FP_STACK (09)
Signature Offset 0000
Entry Address: MAIN\FFFF
Procedure Descriptor (0000000000010000):
Flags: 3089
KIND: PDSC$K_KIND_FP_STACK (09)
FP is Base Register
Rsa Offset: 0008
Signature Offset 0000
Entry Address: MAIN
Ireg Mask: 20000004 <R2,FP>
RA Saved @ 000000007F907AD8: FFFFFFFF8255A1F8
R2 Saved @ 000000007F907AE0: 000000007FFBF880
FP Saved @ 000000007F907AE8: 000000007F907B30
Freg Mask: 00000000
Size: 00000020
invocation block 1
FP: 000000007F907B30
Procedure Descriptor (FFFFFFFF8255D910):
Flags: 3099
KIND: PDSC$K_KIND_FP_STACK (09)
Handler Valid
FP is Base Register
Rsa Offset: 0048
Signature Offset 0001
Entry Address: -2108317536
Ireg Mask: 20002084 <R2,R7,R13,FP>
RA Saved @ 000000007F907B78: 000000007FA28160
R2 Saved @ 000000007F907B80: 0000000000000000
R7 Saved @ 000000007F907B88: 000000007FF9C9E0
R13 Saved @ 000000007F907B90: 000000007FA00900
FP Saved @ 000000007F907B98: 000000007F907BB0
Freg Mask: 00000000
Size: 00000070
Condition Handler: -2108303104
DBG>
In the above example, 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.
Integrity servers example-The following abbreviations are used
in the example:
GP-Global data segement Pointer (%R1)
PC-Program Counter (Instruction Pointer + instruction slot
number)
SP-Stack Pointer (memory stack)
BSP-Backing Store Pointer (register stack)
CFM-Current Frame Marker
DBG> SHOW STACK
Invocation block 0 Invocation handle 000007FDC0000270
GP: 0000000000240000
PC: MAIN\FFFF
In prologue region
RETURN PC: MAIN\%LINE 15
SP: 000000007AD13B40
Is memory stack frame:
previous SP: 000000007AD13B40
BSP: 000007FDC0000270
Is register stack frame:
previous BSP: 000007FDC0000248
CFM: 0000000000000005
No locals Outs R32 : R36
Invocation block 1 Invocation handle 000007FDC0000248
GP: 0000000000240000
PC: MAIN\%LINE 15
RETURN PC: 0FFFFFFFF80C2A200
SP: 000000007AD13B40
Is memory stack frame:
previous SP: 000000007AD13B70
BSP: 000007FDC0000248
Is register stack frame:
previous BSP: 000007FDC0000180
CFM: 000000000000028A
Ins/Locals R32 : R36 Outs R37 : R41
Invocation block 2 Invocation handle 000007FDC0000180
GP: 0FFFFFFFF844DEC00
PC: 0FFFFFFFF80C2A200
RETURN PC: SHARE$DCL_CODE0+5AB9F
SP: 000000007AD13B70
Is memory stack frame:
previous SP: 000000007AD13BC0
BSP: 000007FDC0000180
Is register stack frame:
previous BSP: 000007FDC00000B8
Has handler:
function value: 0FFFFFFFF842DFBD0
CFM: 0000000000000C20
Ins/Locals R32 : R55 Outs R56 : R63
DBG>
See HP OpenVMS Calling Standard for more information.
26 – STEP
Identifies the default qualifiers (/INTO, /INSTRUCTION, /NOSILENT
and so on) currently in effect for the STEP command.
Format
SHOW STEP
26.1 – Description
The default qualifiers for the STEP command are the default
qualifiers last established by the SET STEP command. If you did
not enter a SET STEP command, the default qualifiers are /LINE,
/OVER, /NOSILENT, and /SOURCE.
Enabling screen mode by pressing PF1-PF3 enters the SET STEP
NOSOURCE command as well as the SET MODE SCREEN command (to
eliminate redundant source display in output and DO displays).
In that case, the default qualifiers are /LINE, /OVER, /NOSILENT,
and /NOSOURCE.
Related commands:
STEP
SET STEP
26.2 – Example
DBG> SET STEP INTO,NOSYSTEM,NOSHARE,INSTRUCTION,NOSOURCE
DBG> SHOW STEP
step type: nosystem, noshare, nosource, nosilent, into routine calls,
by instruction
DBG>
In this example, the SHOW STEP command indicates that the
debugger take the following actions:
o Steps into called routines, but not those in system space or
in shareable images
o Steps by instruction
o Does not display lines of source code while stepping
27 – SYMBOL
Displays information about the symbols in the debugger's run-time
symbol table (RST) for the current image.
NOTE
The current image is either the main image (by default) or
the image established as the current image by a previous SET
IMAGE command.
Format
SHOW SYMBOL symbol-name[, . . . ] [IN scope[, . . . ]]
27.1 – Parameters
symbol-name
Specifies a symbol to be identified. A valid symbol name is
a single identifier or a label name of the form %LABEL n,
where n is an integer. Compound names such as RECORD.FIELD
or ARRAY[1,2] are not valid. If you specify the asterisk (*)
wildcard character by itself, all symbols are listed. You can use
the wildcard within a symbol name.
scope
Specifies the name of a module, routine, or lexical block, or a
numeric scope. It has the same syntax as the scope specification
in a SET SCOPE command and can include path-name qualification.
All specified scopes must be in set modules in the current image.
The SHOW SYMBOL command displays only those symbols in the RST
for the current image that both match the specified name and
are declared within the lexical entity specified by the scope
parameter. If you omit this parameter, all set modules and the
global symbol table (GST) for the current image are searched
for symbols that match the name specified by the symbol-name
parameter.
27.2 – Qualifiers
27.2.1 /ADDRESS
Displays the address specification for each selected symbol. The
address specification is the method of computing the symbol's
address. It can merely be the symbol's memory address, but it can
also involve indirection or an offset from a register value. Some
symbols have address specifications too complicated to present in
any understandable way. These address specifications are labeled
"complex address specifications."
On Alpha processors, the command SHOW SYMBOL/ADDRESS procedure-
name displays both the code address and procedure descriptor
address of a specified routine, entry point, or Ada package.
27.2.2 /DEFINED
Displays symbols you have defined with the DEFINE command (symbol
definitions that are in the DEFINE symbol table).
27.2.3 /DIRECT
Displays only those symbols that are declared directly in the
scope parameter. Symbols declared in lexical entities nested
within the scope specified by the scope parameters are not shown.
27.2.4 /FULL
Displays all information associated with the /ADDRESS, /TYPE, and
/USE_CLAUSE qualifiers.
For C++ modules, if symbol-name is a class, SHOW SYMBOL/FULL also
displays information about the class.
27.2.5 /LOCAL
Displays symbols that are defined with the DEFINE/LOCAL command
(symbol definitions that are in the DEFINE symbol table).
27.2.6 /TYPE
Displays data type information for each selected symbol.
27.2.7 /USE_CLAUSE
(Applies to Ada programs.) Identifies any Ada package that a
specified block, subprogram, or package names in a use clause.
If the symbol specified is a package, also identifies any block,
subprogram, package, and so on, that names the specified symbol
in a use clause.
27.3 – Description
The SHOW SYMBOL command displays information that the debugger
has about a given symbol in the current image. This information
might not be the same as what the compiler had or even what
you see in your source code. Nonetheless, it is useful for
understanding why the debugger might act as it does when handling
symbols.
By default, the SHOW SYMBOL command lists all of the possible
declarations or definitions of a specified symbol that exist in
the RST for the current image (that is, in all set modules and
in the GST for that image). Symbols are displayed with their
path names. A path name identifies the search scope (module,
nested routines, blocks, and so on) that the debugger must follow
to reach a particular declaration of a symbol. When specifying
symbolic address expressions in debugger commands, use path
names only if a symbol is defined multiple times and the debugger
cannot resolve the ambiguity.
The /DEFINED and /LOCAL qualifiers display information about
symbols defined with the DEFINE command (not the symbols that
are derived from your program). The other qualifiers display
information about symbols defined within your program.
For information specific to Ada programs, type Help
Language_Support Ada.
Related commands:
DEFINE
DELETE
SET MODE [NO]LINE
SET MODE [NO]SYMBOLIC
SHOW DEFINE
SYMBOLIZE
27.4 – Examples
1.DBG> SHOW SYMBOL I
data FORARRAY\I
DBG>
This command shows that symbol I is defined in module FORARRAY
and is a variable (data) rather than a routine.
2.DBG> SHOW SYMBOL/ADDRESS INTARRAY1
data FORARRAY\INTARRAY1
descriptor address: 0009DE8B
DBG>
This command shows that symbol INTARRAY1 is defined in module
FORARRAY and has a memory address of 0009DE8B.
3.DBG> SHOW SYMBOL *PL*
This command lists all the symbols whose names contain the
string "PL".
4.DBG> SHOW SYMBOL/TYPE COLOR
data SCALARS\MAIN\COLOR
enumeration type (primary, 3 elements), size: 4 bytes
This command shows that the variable COLOR is an enumeration
type.
5.DBG> SHOW SYMBOL/TYPE/ADDRESS *
This command displays all information about all symbols.
6.DBG> SHOW SYMBOL * IN MOD3\COUNTER
routine MOD3\COUNTER
data MOD3\COUNTER\X
data MOD3\COUNTER\Y
DBG>
This command lists all the symbols that are defined in the
scope denoted by the path name MOD3\COUNTER.
7.DBG> DEFINE/COMMAND SB=SET BREAK
DBG> SHOW SYMBOL/DEFINED SB
defined SB
bound to: SET BREAK
was defined /command
DBG>
In this example, the DEFINE/COMMAND command defines SB as
a symbol for the SET BREAK command. The SHOW SYMBOL/DEFINED
command displays that definition.
28 – TASK
Displays information about the tasks of a multithread program
(also called a tasking program).
NOTE
SET TASK and SET THREAD are synonymous commands. They
perform identically.
Format
SHOW THREAD [task-spec[, . . . ]]
28.1 – Parameters
task-spec
Specifies a task value. Use any of the following forms:
o When the event facility is THREADS:
- A task (thread) name as declared in the program, or a
language expression that yields a task ID number.
- A task ID number (for example, 2), as indicated in a SHOW
THREAD display.
o When the event facility is ADA:
- A task (thread) name as declared in the program, or a
language expression that yields a task value. You can use a
path name.
- A task ID (for example, 2), as indicated in a SHOW THREAD
display.
o One of the following task built-in symbols:
%ACTIVE_TASK The task that runs when a GO, STEP, CALL, or
EXIT command executes.
%CALLER_TASK (Applies only to Ada programs.) When an accept
statement executes, the task that called the
entry associated with the accept statement.
%NEXT_TASK The task after the visible task in the
debugger's task list. The ordering of tasks
is arbitrary but consistent within a single
run of a program.
%PREVIOUS_ The task previous to the visible task in the
TASK debugger's task list.
%VISIBLE_TASK The task whose call stack and register set are
the current context for looking up symbols,
register values, routine calls, breakpoints,
and so on.
Do not use the asterisk (*) wildcard character. Instead, use the
/ALL qualifier. Do not specify a task with /ALL, /STATISTICS, or
/TIME_SLICE.
28.2 – Qualifiers
28.2.1 /ALL
Selects all existing tasks for display-namely, tasks that have
been created and (in the case of Ada tasks) whose master has not
yet terminated.
28.2.2 /CALLS
/CALLS[=n]
Does a SHOW CALLS command for each task selected for display.
This identifies the currently active routine calls (the call
stack) for a task.
28.2.3 /FULL
When the event facility is THREADS, use the
PTHREAD thread -f thread-number
command.
Displays additional information for each task selected for
display. The additional information is provided if you use /FULL
by itself or with /CALLS or /STATISTICS.
You can get help on POSIX threads debugger commands by typing
PTHREAD HELP.
See the Guide to the POSIX Threads Library for more information
about using the POSIX threads debugger.
28.2.4 /HOLD
/HOLD
/NOHOLD (default)
When the event facility is THREADS, use the PTHREAD tset -n
thread-number command.
Selects either tasks that are on hold, or tasks that are not on
hold for display.
If you do not specify a task, /HOLD selects all tasks that are on
hold. If you specify a task list, /HOLD selects the tasks in the
task list that are on hold.
If you do not specify a task, /NOHOLD selects all tasks that
are not on hold. If you specify a task list, /NOHOLD selects the
tasks in the task list that are not on hold.
You can get help on POSIX threads debugger commands by typing
PTHREAD HELP.
See the Guide to the POSIX Threads Library for more information
about using the POSIX threads debugger.
28.2.5 /IMAGE
Displays the image name for each active call on the call stack.
Valid only with the /CALLS qualifier.
28.2.6 /PRIORITY
/PRIORITY=(n[, . . . ])
When the event facility is THREADS, use the PTHREAD tset -s
thread-number command.
If you do not specify a task, selects all tasks having any of
the specified priorities, n, where n is a decimal integer from 0
to 15. If you specify a task list, selects the tasks in the task
list that have any of the priorities specified.
You can get help on POSIX threads debugger commands by typing
PTHREAD HELP.
See the Guide to the POSIX Threads Library for more information
about using the POSIX threads debugger.
28.2.7 /STATE
/STATE=(state[, . . . ])
If you do not specify a task, selects all tasks that are in any
of the specified states-RUNNING, READY, SUSPENDED, or TERMINATED.
If you specify a task list, selects the tasks in the task list
that are in any of the states specified.
28.3 – Description
A task can first appear in a SHOW THREAD display as soon as it
is created. A task can no longer appear in a SHOW THREAD display
if it is terminated or (in the case of an Ada tasking program)
if its master is terminated. By default, the SHOW THREAD command
displays one line of information for each task selected.
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
THREAD/CALLS/IMAGE command. The debugger restores the set image
state when the SHOW THREAD/CALLS/IMAGE command is complete.
Related commands:
DEPOSIT/TASK
EXAMINE/TASK
(SET, SHOW) EVENT_FACILITY
SET TASK|THREAD
28.4 – Examples
1.DBG> SHOW EVENT_FACILITY
event facility is ADA
. . .
DBG> SHOW TASK/ALL
task id pri hold state substate task object
* %TASK 1 7 RUN 122624
%TASK 2 7 HOLD SUSP Accept H4.MONITOR
%TASK 3 6 READY Entry call H4.CHECK_IN
DBG>
In this example, the SHOW EVENT_FACILITY command identifies
ADA as the current event facility. The SHOW TASK/ALL command
provides basic information about all the tasks that were
created through Ada services and currently exist. One line
is devoted to each task. The active task is marked with an
asterisk (*). In this example, it is also the active task (the
task that is in the RUN state).
2.DBG> SHOW TASK %ACTIVE_TASK,3,MONITOR
This command selects the active task, 3, and task MONITOR for
display.
3.DBG> SHOW TASK/PRIORITY=6
This command selects all tasks with priority 6 for display.
4.DBG> SHOW TASK/STATE=(RUN,SUSP)
This command selects all tasks that are either running or
suspended for display.
5.DBG> SHOW TASK/STATE=SUSP/NOHOLD
This command selects all tasks that are both suspended and not
on hold for display.
6.DBG> SHOW TASK/STATE=(RUN,SUSP)/PRIO=7 %VISIBLE_TASK, 3
This command selects for display those tasks among the visible
task and %TASK 3 that are in either the RUNNING or SUSPENDED
state and have priority 7.
29 – TERMINAL
Identifies the current terminal screen height (page) and width
being used to format output.
NOTE
This command is not available in the HP DECwindows Motif for
OpenVMS user interface to the debugger.
Format
SHOW TERMINAL
29.1 – Description
The current terminal screen height and width are the height and
width last established by the SET TERMINAL command. By default,
if you did not enter a SET TERMINAL command, the current height
and width are the height and width known to the terminal driver,
as displayed by the DCL command SHOW TERMINAL (usually 24 lines
and 80 columns for VT-series terminals).
Related commands:
SET TERMINAL
SHOW DISPLAY
SHOW WINDOW
29.2 – Example
DBG> SHOW TERMINAL
terminal width: 80
page: 24
wrap: 80
DBG>
This command displays the current terminal screen width and
height (page) as 80 columns and 24 lines, and the message wrap
setting at column 80.
30 – THREAD
Displays information about the tasks of a multithread program
(also called a tasking program).
NOTE
SET TASK and SET THREAD are synonymous commands. They
perform identically.
Format
SHOW THREAD [task-spec[, . . . ]]
30.1 – Parameters
task-spec
Specifies a task value. Use any of the following forms:
o When the event facility is THREADS:
- A task (thread) name as declared in the program, or a
language expression that yields a task ID number.
- A task ID number (for example, 2), as indicated in a SHOW
THREAD display.
o When the event facility is ADA:
- A task (thread) name as declared in the program, or a
language expression that yields a task value. You can use a
path name.
- A task ID (for example, 2), as indicated in a SHOW THREAD
display.
o One of the following task built-in symbols:
%ACTIVE_TASK The task that runs when a GO, STEP, CALL, or
EXIT command executes.
%CALLER_TASK (Applies only to Ada programs.) When an accept
statement executes, the task that called the
entry associated with the accept statement.
%NEXT_TASK The task after the visible task in the
debugger's task list. The ordering of tasks
is arbitrary but consistent within a single
run of a program.
%PREVIOUS_ The task previous to the visible task in the
TASK debugger's task list.
%VISIBLE_TASK The task whose call stack and register set are
the current context for looking up symbols,
register values, routine calls, breakpoints,
and so on.
Do not use the asterisk (*) wildcard character. Instead, use the
/ALL qualifier. Do not specify a task with /ALL, /STATISTICS, or
/TIME_SLICE.
30.2 – Qualifiers
30.2.1 /ALL
Selects all existing tasks for display-namely, tasks that have
been created and (in the case of Ada tasks) whose master has not
yet terminated.
30.2.2 /CALLS
/CALLS[=n]
Does a SHOW CALLS command for each task selected for display.
This identifies the currently active routine calls (the call
stack) for a task.
30.2.3 /FULL
When the event facility is THREADS, use the command.
Displays additional information for each task selected for
display. The additional information is provided if you use /FULL
by itself or with /CALLS or /STATISTICS.
You can get help on POSIX threads debugger commands by typing
PTHREAD HELP.
See the Guide to the POSIX Threads Library for more information
about using the POSIX threads debugger.
30.2.4 /HOLD
/HOLD
/NOHOLD (default)
When the event facility is THREADS, use the PTHREAD tset -n
thread-number command.
Selects either tasks that are on hold, or tasks that are not on
hold for display.
If you do not specify a task, /HOLD selects all tasks that are on
hold. If you specify a task list, /HOLD selects the tasks in the
task list that are on hold.
If you do not specify a task, /NOHOLD selects all tasks that
are not on hold. If you specify a task list, /NOHOLD selects the
tasks in the task list that are not on hold.
You can get help on POSIX threads debugger commands by typing
PTHREAD HELP.
See the Guide to the POSIX Threads Library for more information
about using the POSIX threads debugger.
30.2.5 /IMAGE
Displays the image name for each active call on the call stack.
Valid only with the /CALLS qualifier.
30.2.6 /PRIORITY
/PRIORITY=(n[, . . . ])
When the event facility is THREADS, use the PTHREAD tset -s
thread-number command.
If you do not specify a task, selects all tasks having any of
the specified priorities, n, where n is a decimal integer from 0
to 15. If you specify a task list, selects the tasks in the task
list that have any of the priorities specified.
You can get help on POSIX threads debugger commands by typing
PTHREAD HELP.
See the Guide to the POSIX Threads Library for more information
about using the POSIX threads debugger.
30.2.7 /STATE
/STATE=(state[, . . . ])
If you do not specify a task, selects all tasks that are in any
of the specified states-RUNNING, READY, SUSPENDED, or TERMINATED.
If you specify a task list, selects the tasks in the task list
that are in any of the states specified.
30.3 – Description
A task can first appear in a SHOW THREAD display as soon as it
is created. A task can no longer appear in a SHOW THREAD display
if it is terminated or (in the case of an Ada tasking program)
if its master is terminated. By default, the SHOW THREAD command
displays one line of information for each task selected.
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
THREAD/CALLS/IMAGE command. The debugger restores the set image
state when the SHOW THREAD/CALLS/IMAGE command is complete.
Related commands:
DEPOSIT/TASK
EXAMINE/TASK
(SET, SHOW) EVENT_FACILITY
SET TASK|THREAD
30.4 – Examples
1.DBG> SHOW EVENT_FACILITY
event facility is ADA
. . .
DBG> SHOW TASK/ALL
task id pri hold state substate task object
* %TASK 1 7 RUN 122624
%TASK 2 7 HOLD SUSP Accept H4.MONITOR
%TASK 3 6 READY Entry call H4.CHECK_IN
DBG>
In this example, the SHOW EVENT_FACILITY command identifies
ADA as the current event facility. The SHOW TASK/ALL command
provides basic information about all the tasks that were
created through Ada services and currently exist. One line
is devoted to each task. The active task is marked with an
asterisk (*). In this example, it is also the active task (the
task that is in the RUN state).
2.DBG> SHOW TASK %ACTIVE_TASK,3,MONITOR
This command selects the active task, 3, and task MONITOR for
display.
3.DBG> SHOW TASK/PRIORITY=6
This command selects all tasks with priority 6 for display.
4.DBG> SHOW TASK/STATE=(RUN,SUSP)
This command selects all tasks that are either running or
suspended for display.
5.DBG> SHOW TASK/STATE=SUSP/NOHOLD
This command selects all tasks that are both suspended and not
on hold for display.
6.DBG> SHOW TASK/STATE=(RUN,SUSP)/PRIO=7 %VISIBLE_TASK, 3
This command selects for display those tasks among the visible
task and %TASK 3 that are in either the RUNNING or SUSPENDED
state and have priority 7.
31 – TRACE
Displays information about tracepoints.
Format
SHOW TRACE
31.1 – Qualifiers
31.1.1 /PREDEFINED
Displays information about predefined tracepoints.
31.1.2 /USER
Displays information about user-defined tracepoints.
31.2 – Description
The SHOW TRACE command displays information about tracepoints
that are currently set, including any options such as WHEN or DO
clauses, /AFTER counts, and so on, and whether the tracepoints
are deactivated.
By default, SHOW TRACE displays information about both user-
defined and predefined tracepoints (if any). This is equivalent
to entering the SHOW TRACE/USER/PREDEFINED command. User-defined
tracepoints are set with the SET TRACE command. Predefined
tracepoints are set automatically when you start the debugger,
and they depend on the type of program you are debugging.
If you established a tracepoint using SET TRACE/AFTER:n, the SHOW
TRACE command displays the current value of the decimal integer
n, that is, the originally specified integer value minus 1 for
each time the tracepoint location was reached. (The debugger
decrements n each time the tracepoint location is reached until
the value of n is 0, at which time the debugger takes trace
action.)
On Alpha systems, the SHOW TRACE command does not display
individual instructions when the trace is on a particular class
of instruction (as with SET TRACE/CALL or SET TRACE/RETURN).
Related commands:
(ACTIVATE, DEACTIVATE, SET, CANCEL) TRACE
31.3 – Examples
1.DBG> SHOW TRACE
tracepoint at routine CALC\MULT
tracepoint on calls:
RET RSB BSBB JSB BSBW CALLG CALLS
DBG>
In this VAX example, the SHOW TRACE command identifies all
tracepoints that are currently set. This example indicates
user-defined tracepoints that are triggered whenever execution
reaches routine MULT in module CALC or one of the instructions
RET, RSB, BSBB, JSB, BSBW, CALLG, or CALLS.
2.all> SHOW TRACE/PREDEFINED
predefined tracepoint on program activation
DO (SET DISP/DYN/REM/SIZE:64/PROC SRC_ AT H1 SOURCE
(EXAM/SOURCE .%SOURCE_SCOPE\%PC);
SET DISP/DYN/REM/SIZE:64/PROC INST_ AT H1 INST
(EXAM/INSTRUCTION .0\%PC))
predefined tracepoint on program termination
all>
This command identifies the predefined tracepoints that are
currently set. The example shows the predefined tracepoints
that are set automatically by the debugger for a multiprocess
program. The tracepoint on program activation triggers whenever
a new process comes under debugger control. The DO clause
creates a process-specific source display named SRC_n and a
process-specific instruction display named INST_n whenever a
process activation tracepoint is triggered. The tracepoint on
program termination triggers whenever a process does an image
exit.
32 – TYPE
Identifies the current type for program locations that do not
have a compiler-generated type or, if you specify /OVERRIDE, the
current override type.
Format
SHOW TYPE
32.1 – Qualifiers
32.1.1 /OVERRIDE
Identifies the current override type.
32.2 – Description
The current type for program locations that do not have a
compiler-generated type is the type last established by the SET
TYPE command. If you did not enter a SET TYPE command, the type
for those locations is longword integer.
The current override type for all program locations is the
override type last established by the SET TYPE/OVERRIDE command.
If you did not enter a SET TYPE/OVERRIDE command, the override
type is "none".
Related commands:
CANCEL TYPE/OVERRIDE
DEPOSIT
EXAMINE
(SET,SHOW,CANCEL) MODE
(SET,SHOW,CANCEL) RADIX
SET TYPE
32.3 – Examples
1.DBG> SET TYPE QUADWORD
DBG> SHOW TYPE
type: quadword integer
DBG>
In this example, you set the type to quadword for locations
that do not have a compiler-generated type. The SHOW TYPE
command displays the current default type for those locations
as quadword integer. This means that the debugger interprets
and displays entities at those locations as quadword integers
unless you specify otherwise (for example with a type qualifier
on the EXAMINE command).
2.DBG> SHOW TYPE/OVERRIDE
type/override: none
DBG>
This command indicates that no override type has been defined.
33 – WATCH
Displays information about watchpoints.
Format
SHOW WATCH
33.1 – Description
The SHOW WATCH command displays information about watchpoints
that are currently set, including any options such as WHEN or DO
clauses, /AFTER counts, and so on, and whether the watchpoints
are deactivated.
If you established a watchpoint using SET WATCH/AFTER:n, the SHOW
WATCH command displays the current value of the decimal integer
n, that is, the originally specified integer value minus 1 for
each time the watchpoint location was reached. (The debugger
decrements n each time the watchpoint location is reached until
the value of n is 0, at which time the debugger takes watch
action.)
Related commands:
(ACTIVATE,CANCEL,DEACTIVATE,SET) WATCH
33.2 – Example
DBG> SHOW WATCH
watchpoint of MAIN\X
watchpoint of SUB2\TABLE+20
DBG>
This command displays two watchpoints: one at the variable
X (defined in module MAIN), and the other at the location
SUB2\TABLE+20 (20 bytes beyond the address denoted by the
address expression TABLE).
34 – WINDOW
Identifies the name and screen position of predefined and
user-defined screen-mode windows.
NOTE
This command is not available in the HP DECwindows Motif for
OpenVMS user interface to the debugger.
Format
SHOW WINDOW [window-name[, . . . ]]
34.1 – Parameters
windowname
Specifies the name of a screen window definition. If you do not
specify a name, or if you specify the asterisk (*) wildcard
character by itself, all window definitions are listed. You can
use the wildcard within a window name. Do not specify a window
definition name with the /ALL qualifier.
34.2 – Qualifiers
34.2.1 /ALL
Lists all window definitions.
34.3 – Description
Related commands:
(SHOW,CANCEL) DISPLAY
(SET,SHOW) TERMINAL
(SET,CANCEL) WINDOW
SHOW SELECT
34.4 – Example
DBG> SHOW WINDOW LH*,RH*
window LH1 at (1,11,1,40)
window LH12 at (1,23,1,40)
window LH2 at (13,11,1,40)
window RH1 at (1,11,42,39)
window RH12 at (1,23,42,39)
window RH2 at (13,11,42,39)
DBG>
This command displays the name and screen position of all
screen window definitions whose names start with LH or RH.