DEBUG SHOW — VMS FORTRAN_5.2
The function depends on the keyword. For example, SHOW BREAK
displays the current breakpoints. See the the subtopics for
details.
Format:
SHOW keyword [/qualifier] [parameter]
Additional information available:
ABORT_KEYASTATSIGNBREAKCALLSDEFINE
DISPLAYEDITOREVENT_FACILITYEXIT_HANDLERSIMAGE
KEYLANGUAGELOGMARGINSMAX_SOURCE_FILESMODE
MODULEOUTPUTPROCESSRADIXSCOPESEARCHSELECT
SOURCESTACKSTEPSYMBOLTASKTERMINALTRACE
TYPEWATCHWINDOW
Parameters
keyword
Specifies the item to be displayed. Keyword can be
ABORT_KEY,AST, ATSIGN, BREAK, CALLS, DEFINE, DISPLAY, EDITOR,
EVENT_FACILITY, EXIT_HANDLERS, KEY, LANGUAGE, LOG, MARGIN,
MAX_SOURCE_FILES, MODE, MODULE, OUTPUT, PROCESS, RADIX, SCOPE,
SEARCH, SELECT, SOURCE, STEP, SYMBOL, TASK, TERMINAL, TRACE,
TYPE, WATCH, or WINDOW.
qualifiers
Depends on the keyword specified.
parameters
Depends on the keyword specified.
ABORT_KEY
Identifies the CTRL-key sequence currently defined to abort the
execution of a debugger command or to interrupt program
execution.
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.
Format:
SHOW ABORT_KEY
Additional information available:
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
The first SHOW ABORT_KEY command identifies the default abort
command key sequence, CTRL/C. The command SET ABORT_KEY = CTRL_P
assigns the abort- command function to the CTRL/P sequence, as
verified by the second SHOW ABORT_KEY command.
AST
SHOW AST tells you whether ASTs are enabled or disabled in your
program. See the ENABLE AST and DISABLE AST commands for more
details.
SHOW AST does not give you information about what ASTs are
pending.
Example:
DBG> SHOW AST
ASTs are enabled
DBG> DISABLE AST
ASTs were enabled, are now disabled
DBG> SHOW AST
ASTs are disabled
ATSIGN
SHOW ATSIGN displays the default file specification that is
applied to the "@file-spec" command, as previously specified by
the SET ATSIGN command.
Example:
DBG> SHOW ATSIGN
No indirect command file default in effect, using DEBUG.COM
DBG> SET ATSIGN MYDISK:[MYDIR.DEBUG].DBG
DBG> SHOW ATSIGN
Indirect command file default is MYDISK:[MYDIR.DEBUG].DBG
BREAK
Displays information about breakpoints that are currently set,
including any options such as WHEN or DO clauses, /AFTER counts,
and so on.
Format:
SHOW BREAK [/qualifier]
By default, SHOW BREAK displays information about both user
defined and predefined breakpoints (if any). This is equivalent
to entering the command SHOW BREAK/USER/PREDEFINED. User defined
breakpoints are set with the SET BREAK command. Predefined
breakpoints are set automatically when you invoke the debugger,
and they depend on the type of program you are debugging.
If you established a breakpoint using the /AFTER:n command
qualifier with the SET BREAK command, the SHOW BREAK command
displays the current value of the decimal integer n, that is, the
originally specified integer value minus one 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
zero, at which time the debugger takes break action.)
Additional information available:
Examples
1 DBG> SET BREAK/AFTER:3 MAIN WHEN (A .EQ. B)
DBG> SHOW BREAK
breakpoint at routine MAIN
/after: 3
WHEN (A .EQ. B)
This SHOW BREAK command identifies the user defined breakpoint
set with the previous SET BREAK command.
2 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
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.
3 DBG> SHOW BREAK/PREDEFINED
predefined breakpoint on Ada event "DEPENDENTS_EXCEPTION"
for any value
predefined breakpoint on Ada event "EXCEPTION_TERMINATED"
for any value
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.
Qualifiers
Additional information available:
/PREDEFINED
Displays information about predefined breakpoints.
/USER
Displays information about user defined breakpoints.
CALLS
Causes the debugger to display information about the sequence of
currently active procedure calls. This tells you where you are
in the execution of your program.
The optional parameter n specifies the number of call frames to
be displayed. If you do not specify the parameter n, information
about all call frames is displayed.
Format:
SHOW CALLS [n]
Additional information available:
Parameters
n
Specifies the number of call frames that you wish information
about. If omitted, the debugger displays information about all
call frames.
Example
In the following example we are now at line 117 of routine
PRIMES, which was called from line 141 of routine LISTPRIMES.
The asterisks before the module name indicate that the module is
set.
DBG> SHOW CALLS
module name routine name line rel PC abs PC
*PRIMES PRIME 117 00000002 000009B8
*PRIMES LISTPRIMES 141 0000004D 00000A29
DEFINE
Shows what define setting has been specified by a previous SET
DEFINE command. (To display all defined symbols, the command is
SHOW SYMBOL/DEFINED.)
Format: SHOW DEFINE
Example:
! The default is DEFINE/ADDRESS
DBG> SHOW DEFINE
current setting is: DEFINE/ADDRESS
DBG> SET DEFINE VALUE
! Treat all DEFINEs as DEFINE/VALUE
DBG> SHOW DEFINE
current setting is: DEFINE/VALUE
DISPLAY
Causes the debugger to list defined screen displays. The name,
maximum size, screen window, kind, and debugger command list (if
any) of the defined screen displays are listed. The displays are
listed in their pasting order with the display that is most
hidden listed first.
With no parameters, /ALL, or *, the names and attributes of all
displays are listed. The debugger also accepts a parameter list
of display names. This list of names can include wildcarded (*)
names, in which case all matching display names are displayed.
Format:
SHOW DISPLAY [/qualifier[,...]] display-name
Additional information available:
Example
DBG> SHOW DISPLAY
display SRC at H1, size = 64
kind = SOURCE (EXAMINE/SOURCE .%SOURCE_SCOPE\%PC)
display INST at H1, size = 64, removed
kind = INSTRUCTION (EXAMINE/INSTRUCTION .0\%PC)
display REG at RH1, size = 64, removed, kind = REGISTER
display OUT at S45, size = 100, kind = OUTPUT
display FOO at (10,4,24,30), size = 64, kind = OUTPUT
display PROMPT at S6, size = 64, kind = PROGRAM
DBG> SHOW DISPLAY SRC
display SRC at H1, size = 64
kind = SOURCE (EXAMINE/SOURCE .%SOURCE_SCOPE\%PC)
Parameters
display-name (optional) - the name of the display you want
displayed. If this parameter is omitted, information is
displayed about all displays. The disp-name parameter may
contain * as a wildcard.
Example:
SHOW DISPLAY S* - gives information about all displays whose name
begins with S.
Qualifiers
Additional information available:
/ALL
Lists all display definitions. Do not specify a display name
with /ALL.
/SUFFIX[=process-identifier-type]
Note: This qualifier applies to a multiprocess debugging
configuration (when DBG$PROCESS has the value MULTIPROCESS). Use
this qualifier only directly after a display name.
Appends a process-identifying suffix to a display name. The
suffix denotes the visible process. This qualifier is used
primarily in command procedures when specifying display
definitions or key definitions that are bound to display
definitions. Use any of the following process-identifier-type
keywords:
PROCESS_NAME The display-name suffix is the VMS process name.
PROCESS_NUMBER The display-name suffix is the process number
(as shown in a SHOW PROCESS display).
PROCESS_PID The display-name suffix is the VMS process
identification number (PID).
If you specify /SUFFIX without a process-identifier- type
keyword, the process identifier type used for the display-name
suffix is, by default, the same as that used for the prompt
suffix (see SET PROMPT/SUFFIX).
EDITOR
SHOW EDITOR displays the action taken by the EDIT command, as set
by the SET EDITOR command.
Example:
DBG> SHOW EDITOR
The editor is SPAWNed, with command line "LSEDIT/START=(n,1)"
DBG> SET EDITOR/CALLABLE_TPU
DBG> SHOW EDITOR
The editor is CALLABLE_TPU, with command line "TPU"
EVENT_FACILITY
Displays the run-time facility that has been selected by the
command SET EVENT_FACILITY. Also displays the event names that
are defined by the facility (that is the keywords that you can
specify on the command SET BREAK/EVENT=keyword). Currently, the
languages that have event facilities are ADA and SCAN.
Format:
SHOW EVENT_FACILITY
Additional information available:
Example:
DBG> SHOW EVENT
event facility is ADA
The general forms of commands to set a breakpoint or tracepoint
on an Ada event are:
SET BREAK/EVENT=event [task[, ... ]] [WHEN(expr)] [DO(comnd[;
... ])]
SET TRACE/EVENT=event [task[, ... ]] [WHEN(expr)] [DO(comnd[;
... ])]
If tasks are specified, the breakpoint triggers only if the
event occurs for those specific tasks.
Ada event names and their definitions
HANDLED an exception is about to be handled
HANDLED_OTHERS an exception is about to be handled in an
OTHERS handler
TERMINATED a task is terminating (including by abort
or exception)
EXCEPTION_TERMINATED a task is terminating because of an
exception
ABORT_TERMINATED a task is terminating because of abort
DEPENDENTS_EXCEPTION an exception is about to cause a task to
await
dependent tasks
RENDEZVOUS_EXCEPTION an exception is propagating out of a
rendezvous
RUN a task is about to run
ACTIVATING a task is about to begin its activation
PREEMPTED a task is about to be preempted
SUSPENDED a task is about to be suspended
EXIT_HANDLERS
SHOW EXIT_HANDLERS gives a display of the exit handlers that your
program has declared. 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
exit handler at MODNAME\EXIT_ROUT1
exit handler at MODNAME\EXIT_ROUT2
IMAGE
Displays information about the shareable images that are part of
your running program. The name, start address and end addresses
are displayed. Also displayed is whether the image is "set" (see
HELP SET IMAGE).
Format:
SHOW IMAGE [image-name]
If "image-name" is omitted, all images are displayed.
"image-name" may include wildcards.
Example:
DBG> SHOW IMAGE SHARE$*
image name set base address end
address
*SHARE yes 00000200 00000FFF
SHARE1 no 00001000 000017FF
SHARE2 no 00018C00 000191FF
SHARE3 no 00019200 000195FF
SHARE4 no 00019600 0001B7FF
total images: 5 bytes allocated: 33032
The asterisk next to the image name indicates that the image is
the "current image".
KEY
Displays current key definitions for the specified keys in the
specified states.
Format:
SHOW KEY [/qualifiers] [key-name-list]
Example:
DBG> DEFINE/KEY KP0 "STEP"
DBG> SHOW KEY KP0
DEFAULT definition for key KP0:
"STEP"
Additional information available:
Qualifiers
Additional information available:
/ALL/BRIEF/DIRECTORY/NOSTATE/STATE
/ALL
Show all keys defined in the current state(s).
/BRIEF
Only display the key definition and state. By default, the
system provides other information including qualifiers associated
with the definition, etc.
/DIRECTORY
Only give the names of the keys that have been defined
/NOSTATE
Give the definitions for the keys in the currently active state.
(default)
/STATE
Format:
SHOW KEY/STATE=state-name-list[/qualifier[...]] [key-name[,...]]
This qualifier modifies the others so that they perform their
operations on the list of states given. For example:
SHOW KEY/STATE=GOLD/DIR gives a list of the keys
defined for the GOLD state.
LANGUAGE
Causes the debugger to display the current language.
The current language is the language last established by the SET
LANGUAGE command or the language established at debugger
start-up.
Supported languages are ADA, BASIC, BLISS, C, COBOL, DIBOL,
FORTRAN, MACRO, PASCAL, PLI, RPG, and SCAN. See "HELP Languages"
for details on the support for each one.
Format:
SHOW LANGUAGE
LOG
Causes the debugger to display the name of the current log file
and to report whether the debugger is writing to that log file.
The current log file is the log file last established by a SET
LOG command or the default log file DEBUG.LOG.
Format:
SHOW LOG
MARGINS
Displays the current source-line margin settings for the display
of source code.
Margin settings are established by the SET MARGIN command. By
default, the debugger sets the left margin to 1 and the right
margin to 255.
Format:
SHOW MARGINS
MAX_SOURCE_FILES
Displays the maximum number of source files that the debugger may
keep open at any one time.
The maximum number of source files that the debugger may keep
open at any one time may be specified using the SET
MAX_SOURCE_FILES command or may be the default value of 5.
Format:
SHOW MAX_SOURCE_FILES
MODE
Identifies the current debugger modes (screen or no screen,
keypad or nokeypad, and so on) and the current radix.
The current debugger modes are the modes last established with
the SET MODE command. If no SET MODE command was entered, the
current modes are, by default: DYNAMIC, NOG_FLOAT (D_float),
INTERRUPT, KEYPAD, LINE, NOSCREEN, SCROLL, NOSEPARATE, SYMBOLIC.
Format:
SHOW MODE
MODULE
SHOW MODULE provides a formatted alphabetized display giving
information about all the modules in your program. "SHOW MODULE
modname" displays information only about the module named
"modname". The name may contain wildcards (*).
Included in the display is a column telling you whether the
module is set, and a column telling you how many bytes are
required to set the module. At the bottom of the display is a
number which tells you how many bytes are currently allocated in
the debugger's memory pool.
Format:
SHOW MODULE [/qualifiers] [name]
Additional information available:
Parameters
name (optional) - the name of the module you want displayed. If
the "name" parameter is omitted, information is displayed about
all modules. The "name" parameter may contain * as a wildcard.
Example:
SHOW MODULE DBG* - gives information about all modules whose name
begins with DBG.
Example:
DBG> SHOW MODULE
module name symbols size
X1 no 1504
X2 no 1520
X3 yes 396
total PASCAL modules: 3. bytes allocated: 35928.
Qualifiers
Additional information available:
/NORELATED/NOSHARE/RELATED/SHARE
/NORELATED
(ADA only) This is the default. It specifies that no information
about related modules is to be output.
/NOSHARE
This is the default. It specifies that shareable image modules
not be included in the SHOW MODULE output.
/RELATED
(ADA only) This qualifier tells the debugger to output
information about those modules that are related to each module
that is normally displayed. It lists the relationship of each of
these subordinate modules to the main module along with the
normal information you get with each module. ADA packages and
ADA subunits are the language constructs which give rise to
relationships between modules.
/SHARE
This tells the debugger to include shareable images in the SHOW
MODULE display (for example, SHARE$LIBRTL, SHARE$FORRTL). By
default, these are omitted since there is only limited support
for debugging shareable images.
OUTPUT
Says whether or not the debugger is displaying output on the
terminal (term or noterm), whether or not the debugger is writing
output to a log file (log or nolog), and whether or not the
debugger echos commands from command procedures and DO clauses
(verify/noverify).
Format:
SHOW OUTPUT
PROCESS
Note: This command applies to a multiprocess debugging
configuration (when DBG$PROCESS has the value MULTIPROCESS).
The SHOW PROCESS command displays information about specified
processes and any images running in those processes. 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 released by the debugger through an EXIT
or QUIT command.
Format:
SHOW PROCESS [/qualifier] [process-spec[, . . . ]]
By default (/BRIEF), one line of information is displayed for
each process, including the following:
1. 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 released from debugger control (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.
2. The VMS process name.
3. Whether the process has been placed on HOLD with a SET
PROCESS/HOLD command.
4. The current debugging state for that process (see the States
subtopic).
5. The location (symbolized, if possible) where execution of the
image is suspended in that process.
The SHOW PROCESS/FULL gives additional information about
processes.
Additional information available:
ExamplesParametersQualifiersStates
Examples
1 DBG_2> SHOW PROCESS
Number Name Hold State Current PC
* 2 _WTA3: HOLD break SCREEN_IO\%LINE 47
In this example, the SHOW PROCESS command, by default, displays
one line of information about the visible process (which is
identified with an asterisk in the leftmost column. The process
has the VMS process name _WTA3:. It is the second process
brought under debugger control (process number 2). It has been
placed on HOLD, and the image's execution is suspended at a
breakpoint at line 47 of module SCREEN_IO.
2 DBG_2> SHOW PROCESS/FULL %PREVIOUS_PROCESS
The command SHOW PROCESS/FULL %PREVIOUS_PROCESS displays the
maximum level of information about the previous process in the
circular list of processes (process number 1, in this case).
3 DBG_2> SHOW PROCESS %PROCESS_NAME TEST_3
Number Name Hold State Current PC
7 TEST_3 watch of TEST_3\ROUT4\COUNT
TEST_3\%LINE 54
This SHOW PROCESS command displays one line of information about
process TEST_3. The image is suspended at a watchpoint of
variable COUNT.
4 DBG_2> SHOW PROCESS/DYNAMIC
Dynamic process setting is enabled
This SHOW PROCESS/DYNAMIC command indicates that dynamic process
setting is enabled.
Parameters
process-spec Specifies a process. Use any of the following forms:
[%PROCESS_NAME] process-name The VMS process name, if that
name contains no spaces or
lowercase characters[1].
[%PROCESS_NAME] "process-name" The VMS process name, if that
name contains spaces or lowercase
characters. You can also use
apostrophes (') instead of
quotation marks (").
%PROCESS_PID process_id The VMS process identification
number (PID, a hexadecimal number).
%PROCESS_NUMBER process-number The number assigned to a process
(or %PROC process-number) when it comes under debugger control.
Process numbers appear in a
SHOW PROCESS display.
process-group-name A symbol defined with the
DEFINE/PROCESS_GROUP command to
represent a group of processes.
%NEXT_PROCESS The next process in the debugger's
circular process list after the
visible process.
%PREVIOUS_PROCESS The previous process in the
debugger's circular process list
before the visible process.
%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.
_______________________________________________________
[1]The process name can include the asterisk wildcard
character (*)
You can also use the asterisk wildcard character (*) to specify
all processes. If you do not specify a process, the visible
process is selected, unless you specify /ALL.
Qualifiers
Additional information available:
/ALL/BRIEF/DYNAMIC/FULL/HOLD/NOHOLD/VISIBLE
/ALL
Selects all processes known to the debugger for display. Do not
specify a process with /ALL.
/BRIEF
Displays only one line of information for each process selected
for display. /BRIEF is the default.
/DYNAMIC
Shows whether dynamic process setting is enabled or disabled.
Dynamic process setting is enabled by default and is controlled
with the command SET PROCESS/[NO]DYNAMIC.
Do not specify a process with /DYNAMIC. Do not specify /ALL,
/BRIEF, /FULL, /[NO]HOLD, or /VISIBLE with /DYNAMIC.
/FULL
Displays maximum information for each process selected for
display.
/HOLD
Selects processes that are on HOLD for display. If you do not
specify a process, /HOLD selects all processes that are on HOLD.
If you specify a process list, /HOLD selects the processes in the
list that are on HOLD.
If you specify both /HOLD and /NOHOLD on the same command line,
the effect is to select processes that are on HOLD and processes
that are not on HOLD for display (the qualifier specified last on
the command line does not override the other).
/NOHOLD
Selects processes that are not on HOLD for display. If you do
not specify a process, /NOHOLD selects all processes that are not
on HOLD. If you specify a process list, /NOHOLD selects the
processes in the list that are not on HOLD.
If you specify both /HOLD and /NOHOLD on the same command line,
the effect is to select processes that are on HOLD and processes
that are not on HOLD for display (the qualifier specified last on
the command line does not override the other).
/VISIBLE
Selects the visible process for display. If you do not specify
/VISIBLE, it is assumed by default.
States
The debugging states that may appear in a SHOW PROCESS display
are as follows:
_______________________________________________________
Activated The image and its process have
just been brought under debugger
control, either through a DCL
RUN/DEBUG command, a debugger
CONNECT command, a CTRL/Y - DEBUG
sequence, or by the program
signalling SS$_DEBUG while it
was not under debugger control.
Break A breakpoint was triggered.
Break on branch
Break on call
Break on instruction
Break on lines
Break on modify of
Break on return
Exception break
Excep. break preceding
Interrupted Execution was interrupted in that
process, either because execution
was suspended in some other process,
or because the user interrupted
program execution with the abort-key
sequence (CTRL/C, by default).
Step A STEP command has completed.
Step on return
Terminated The image indicated has terminated
execution but the process is still
under debugger control. Therefore,
you can obtain information about
the image and its process. You can
use the EXIT or QUIT command to
release the process from debugger
control.
Trace A tracepoint was triggered.
Trace on branch
Trace on call
Trace on instruction
Trace on lines
Trace on modify of
Trace on return
Exception trace
Excep. trace preceding
Unhandled exception at An unhandled exception was encountered.
Watch of A watchpoint was triggered.
RADIX
Causes the debugger to display the current radix settings. The
current input radix and the current output radix are displayed.
Radix may be one of BINARY, OCTAL, DECIMAL, or HEXADECIMAL.
SCOPE
Causes the debugger to display the current scope search list,
that is, the scope search list established by the last SET SCOPE
command.
The current scope search list designates one or more program
locations (specified by pathnames and/or other special
characters) to be used in the interpretation of symbols that are
specified without pathname prefixes in debugger commands.
Format:
SHOW SCOPE
SEARCH
Displays the current SEARCH parameters.
Current SEARCH parameters are either established by the SET
SEARCH command or are the default values ALL and STRING.
SEARCH parameters determine whether the debugger searches for all
occurrences (ALL) of the string or only the next occurrence
(NEXT) of the string, and whether the debugger displays any
occurrence of the string (STRING) or only those occurrences in
which the string is not bounded on either side by a character
that cannot be part of an identifier in the current language
(IDENTIFIER).
Format:
SHOW SEARCH
SELECT
Shows the current screen display select settings as set by the
SELECT command.
Format:
SHOW SELECT
SOURCE
Displays the source directory search list(s) currently in effect.
The SET SOURCE/MODULE=modname 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=modname
command.
If a directory search list has not been established by means of
the SET SOURCE or SET SOURCE/MODULE=modname commands, 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 as it was in at compile
time.
Format:
SHOW SOURCE [/EDIT]
Additional information available:
Qualifiers
Additional information available:
/EDIT
Shows the directory search lists that were established with SET
SOURCE/EDIT.
STACK
Displays information from the current call stack. For each
frame, information such as the condition handler and saved
register values is displayed.
Format:
SHOW STACK [n]
The optional argument "n" specifies how many frames to display.
If it is omitted, information about all stack frames is
displayed.
Additional information available:
Example
DBG> SHOW STACK
stack frame 0 (2146814812)
condition handler: 0
SPA: 0
S: 0
mask: M<R2>
PSW: 0000 (hexadecimal)
saved AP: 7
saved FP: 2146814852
saved PC: EIGHTQUEENS\%LINE 69
saved R2: 0
argument list:(1) EIGHTQUEENS\%LINE 68+2
stack frame 1 (2146814852)
condition handler: SHARE$PASRTL+888
SPA: 0
S: 0
mask: none saved
PSW: 0000 (hexadecimal)
saved AP: 2146814924
saved FP: 2146814904
saved PC: SHARE$DEBUG+667
Argument List
One part of the output of SHOW STACK (if existing) for each
frame, is the Argument List. It is the list of arguments passed
along with the call to a subroutine.
NOTE: In some cases the list may contain addresses to actual
arguments. In these cases, "DBG> EXAMINE address" returns the
values of these arguments.
STEP
Causes the debugger to display the current step conditions.
The current step conditions include: whether the debugger steps
by lines or by instructions, whether the debugger steps "into"
routines in the user program or "over" them, whether source is
displayed on each STEP command (source/nosource), and whether any
output is given on each STEP command (silent/nosilent).
Current step conditions are the step conditions established by
the last SET STEP command or the default step conditions
established by the current language.
Format:
SHOW STEP
SYMBOL
Displays information about symbols in your program. Using this
command, you can obtain a list of symbols in your program
matching a given namespec, together with type and address
information about the symbols.
Format:
SHOW SYMBOL [/qualifier] namespec [,namespec...]
[IN scope [,scope...]]
Additional information available:
Example
DBG> SHOW SYMBOL/TYPE/ADDRESS *
module FFF, language FORTRAN
routine FFF
address: 1024, size: 32 bytes
data FFF\B
address: +512
atomic type, byte logical, size: 1 bytes
data FFF\W
address: +514
atomic type, word integer, size: 2 bytes
data FFF\L
address: +528
atomic type, longword integer, size: 4 bytes
data FFF\F
address: +532
atomic type, F_floating, size: 4 bytes
data FFF\D
address: +520
atomic type, D_floating, size: 8 bytes
routine FFF (global)
address: 1024
Parameters
namespec
This consists of a single symbol name, or a symbol name that
includes wildcard characters. "*" is the wildcard character, and
it can match zero or more characters.
scopespec
Specifies a module, routine, lexical block, or numeric scope. It
has the same syntax as the scope specification in the SET SCOPE
command. This specifies that only those symbols that match the
namespec and are declared within the given scope are to be
selected.
Qualifiers
Additional information available:
/ADDRESS/DEFINED/DIRECT/GLOBAL/LOCAL/TYPE/USE_CLAUSE
/ADDRESS
Directs the debugger to print the address specification for each
selected symbol.
/DEFINED
Displays symbols you have defined with the DEFINE command.
/DIRECT
Select only those symbols that are declared directly in the given
scope, but not those that are declared in nested scopes.
/GLOBAL
Displays only those defined symbols that are defined /GLOBAL.
Only applies to SHOW SYMBOL/DEFINED.
/LOCAL
Displays only those defined symbols that are defined /LOCAL.
Only applies to SHOW SYMBOL/DEFINED.
/TYPE
Display type information about each selected symbol.
/USE_CLAUSE
Note: This qualifier applies to Ada programs.
Identifies any package that this routine (subprogram), block, or
package mentions in a use clause. In the case of a package, also
identifies any routine, blocks, or packages that mention this
package in a use clause.
TASK
(Only valid for ADA multitasking programs).
Using this command, you can obtain a list of individual tasks in
existence and their current state. Alternatively, you can obtain
information on the entire multitasking system. The type of
display is determined by "task information qualifiers". If no
task information qualifer is given, the command displays a brief
one line status report for each task specified.
For those commands which operate on individual tasks, the tasks
of interest can be specified by taskname parameters and/or by
"task selection qualifiers". If neither of these means are used,
the task defaults to the "visible task", %VISIBLE_TASK. (See SET
TASK/VISIBLE and SET TASK/ACTIVE).
Format:
SHOW TASK [/qualifier...] [taskname [,taskname...] ]
Additional information available:
ParametersSelection QualifiersInformation QualifiersExamples
Parameters
taskname
A taskname parameter may be a pathname which designates a task
declared in your program, for example, MY_MAIN\PROG\MONITOR.
A taskname parameter may also be a task ID or pseudo taskname. A
task ID is a unique number that is associated with a task at the
time the task is created. The debugger syntax for specifying a
task ID is "%TASK n", where "n" is a positive decimal integer.
You can see what task IDs are assigned to currently existing
tasks by typing SHOW TASK/ALL.
A pseudo taskname is one of the debugger built-in symbols
%ACTIVE_TASK, %CALLER_TASK, %NEXT_TASK, or %VISIBLE_TASK. Type
"HELP Lexicals" for more information on these.
The default taskname parameter is %VISIBLE_TASK.
Selection Qualifiers
Task selection qualifiers can be used singly or in combination.
Except for the ALL" qualifier, they can also be used with
taskname parameters. When used in combination, the logical AND
of the selection criterea is applied. This gives the programmer
a powerful and flexible mechanism to select the tasks of interest
from the many tasks a complicated program may create. There are
five ways to indicate what tasks are of interest:
o A task list selects an explicit set of tasks.
o The /ALL qualifier selects all tasks.
o The /PRIORITY, /STATE, and /[NO]HOLD qualifiers can be used
singly or in combination to select all tasks having the
logical AND of the specified criteria.
o The /PRIORITY, /STATE, and /[NO]HOLD qualifiers can be used
with a task list to select from a small set of "interesting"
tasks.
o The visible task is selected by default if no other selection
is specified.
Additional information available:
/ALL
Selects all tasks that currently exist in your program. Taskname
parameters are not permitted.
/HOLD
/HOLD
/NOHOLD
Selects either those tasks that are on HOLD or those tasks that
are not on HOLD (see SET TASK/[NO]HOLD).
If a list of tasknames is given, select from the list those tasks
that satisfy the HOLD criterea. If the taskname parameters are
omitted, select from all tasks in the program those tasks that
satisfy the HOLD criterea (that is, the /ALL qualifier is
implied).
/PRIORITY
/PRIORITY = n
/PRIORITY = (n1,...,nk)
Selects those tasks that have priority n or those tasks that have
one of the priorities (n1,...,nk), where n is a decimal integer
from 0 to 15 inclusive. (VAX Ada specifies subtype PRIORITY to
be INTEGER range 0..15).
If a list of tasknames is given, select from the list those tasks
that satisfy the priority criteria. If the taskname parameters
are omitted, select from all tasks in the program those tasks
that have the given priorities (that is, the /ALL qualifier is
implied).
/STATE
/STATE = s
/STATE = (s1,...,sk)
Selects those tasks that are in state s or those tasks that are
in one of the states (s1,...,sk).
The state s must be one of the following task states:
READY, RUNNING, SUSPENDED, TERMINATED
If a list of tasknames is given, select from the list those tasks
that satisfy the state criteria. If the taskname parameters are
omitted, select from all tasks in the program those tasks that
are in the given state (that is, the /ALL qualifier is implied).
Information Qualifiers
These qualifiers determine what type of information to display.
If no task information qualifer is given, the default is to
display a brief one line status report for each task selected by
other qualifiers, or explicitly given in the list of tasknames.
Additional information available:
/CALLS/FULL/STATISTICS/TIME_SLICE
/CALLS
/CALLS
/CALLS = n
For each selected task, display information about the sequence of
currently active procedure calls -- that is, the call frames on
the stack of that task.
The optional parameter n specifies the number of call frames to
display. The value of n may be a decimal integer in the range 0
through 32767. If the parameter n is omitted, the debugger
displays information about all call frames.
The /FULL qualifier provides additional information.
/FULL
Display additional information.
The exact function of this qualifier depends on what other
information qualifiers are given. It is meaningfull when used
with /CALL, /STATISTICS, or by itself. When used without any
other information qualifiers, it changes the brief one line
display of the basic task state to a multi-line report of
detailed information.
/STATISTICS
Display tasking statistics for the entire multitasking system.
These statistics include the number of task activations,
terminations, schedulings, blocks, and other information. The
task list and task selection qualifiers must be omitted.
The /FULL qualifier provides additional information.
/TIME_SLICE
Display the current setting of the value of the Ada pragma
TIME_SLICE. This is the time used by the Ada multitasking system
for round-robin scheduling. It is displayed in seconds as a
fixed point decimal number. (See the command SET
TASK/TIME_SLICE). The task list and task selection qualifiers
must be omitted.
Examples
SHOW TASK
Shows information for the visible task (typically the task that
entered the debugger).
SHOW TASK/ALL/FULL
Shows detailed information for all currently existing tasks.
SHOW TASK/ALL/PRI=(4,5)/STATE=(READY,RUN)/NOHOLD/CALLS=3
Shows information for all priority 4 or 5 tasks, in the READY or
RUN state, and not on hold. In addition, the last 3 procedure
calls in each task are shown.
SHOW TASK/PRIORITY=(3,4)/STATE=READY X,Y,Z
Shows which of X,Y,and Z have priority 3 or 4 and are in the
READY state.
SHOW TASK/STATISTICS/FULL
Shows full statistics for the multitasking system.
SHOW TASK/ALL/STATE=READY
Shows all tasks which are ready to be run.
SHOW TASK/PRI=3/STATE=SUSP X,Y,Z
Shows which tasks of X,Y, and Z have priority 3 and are
suspended.
TERMINAL
Causes the debugger to display the terminal width and height
currently used to format debugger output. The width and height
can be set with the SET TERMINAL command.
Format:
SHOW TERMINAL
TRACE
Displays information about tracepoints that are currently set,
including any options such as WHEN or DO clauses, /AFTER counts,
and so on.
Format:
SHOW TRACE [/qualifier]
By default, SHOW TRACE displays information about both user
defined and predefined tracepoints (if any). This is equivalent
to entering the command SHOW TRACE/USER/PREDEFINED. User defined
tracepoints are set with the SET TRACE command. Predefined
tracepoints are set automatically when you invoke the debugger,
and they depend on the type of program you are debugging.
If you established a tracepoint using the /AFTER:n command
qualifier with the SET TRACE command, the SHOW TRACE command
displays the current value of the decimal integer n, that is, the
originally specified integer value minus one 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
zero, at which time the debugger takes trace action.)
Additional information available:
Examples
1 DBG> SET TRACE/INST WHEN (A .NE. 0)
DBG> SHOW TRACE
tracepoint on instructions
WHEN (A .NE. 0)
This SHOW TRACE command identifies the user defined tracepoint
set with the previous SET TRACE command.
2 DBG> SHOW TRACE
tracepoint at routine CALC\MULT
tracepoint on calls:
RET RSB BSBB JSB BSBW CALLG CALLS
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.
3 DBG_2> SHOW TRACE/PREDEFINED
predefined tracepoint on program activation
DO (SET DISP/DYN/REM/SIZE:64/PROC SRC_/SUF=PROCESS_NU AT H1
SOURCE (EXAM/SOURCE .%SOURCE_SCOPE\%PC);
SET DISP/DYN/REM/SIZE:64/PROC INST_/SUF=PROCESS_NU AT H1
INSTRUCTION (EXAM/INSTRUCTION .0\%PC))
predefined tracepoint on program termination
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
(when DBG$PROCESS has the value MULTIPROCESS). 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 performs an image exit.
Qualifiers
Additional information available:
/PREDEFINED
Displays information about predefined tracepoints.
/USER
Displays information about user defined tracepoints.
TYPE
Causes the debugger to display the current default type or, if
the /OVERRIDE command qualifier is specified, the current
override type.
Format:
SHOW TYPE [/qualifier]
Additional information available:
Qualifiers
Additional information available:
/OVERRIDE
Causes the debugger to display the current override type.
WATCH
Causes the debugger to display the locations at which watchpoints
have been established by the SET WATCH.
All of the information about each watchpoint is displayed -- that
is, WHEN and DO clauses, after count, and so on.
Format:
SHOW WATCH
Example:
DBG> SET WATCH X DO (SHOW CALLS)
DBG> SHOW WATCH
watchpoint of X
DO (SHOW CALLS)
WINDOW
Causes the debugger to list defined screen windows. The name and
screen position of each defined window are displayed. The list
consists of all user defined windows as well as the many debugger
predefined windows. The windows are listed in alphabetical
order.
With no parameters, /ALL, or *, the names and attributes of all
windows are listed. The debugger also accepts a parameter list
of window names. This list of names can include wildcarded (*)
names, in which case all matching window names are displayed.
Format:
SHOW WINDOW [/ALL | name [,...]]
Additional information available:
/ALL
/ALL qualifier, like the default SHOW WINDOW and SHOW WINDOW *,
causes the debugger to list all of the screen window definitions.
Parameters
name (optional) - the name of the window you want displayed. If
the "name" parameter is omitted, information is displayed about
all windows. The "name" parameter may contain * as a wildcard.
Example:
SHOW WINDOW S* - gives information about all windows whose name
begins with S.