  | 
		
OpenVMS Debugger Manual
 
 
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.
  
 
SHOW TASK|THREAD
 
Displays information about the tasks of a multithread program (also 
called a tasking program).
 
  Note 
SHOW TASK and SHOW THREAD are synonymous commands. They perform 
identically. 
     | 
   
 
 
 
Format
SHOW TASK|THREAD [task-spec[,...]]
  
 
Parameters
task-spec
Specifies a task value. Use any of the following forms:
  - 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 TASK 
    display.
  
  
   - 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.
  
  
   - 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_TASK
     | 
    
       The task previous to the visible task in the 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.
  
 
Qualifiers
/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.
/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.
/FULL
When the event facility is THREADS, use the following command:
 
  
    
       
      
  PTHREAD thread -f thread-number 
 
 |   
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 POSIX Threads Library for more information about using the 
POSIX Threads debugger.
 /HOLD
/NOHOLD (default)
SHOW TERMINAL
When the event facility is THREADS, use the following command:
 
  
    
       
      
PTHREAD tset -n thread-number 
 
 |   
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.
 /IMAGE
Displays the image name for each active call on the call stack. Valid 
only with the /CALLS qualifier.
/PRIORITY=(n[,...])
When the event facility is THREADS, use the following command:
 
  
    
       
      
PTHREAD tset -s thread-number 
 
 |   
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.
 /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.
 
 
Description
A task can first appear in a SHOW TASK display as soon as it is 
created. A task can no longer appear in a SHOW TASK display if it is 
terminated or (in the case of an Ada tasking program) if its master is 
terminated. By default, the SHOW TASK 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 
TASK/CALLS/IMAGE command. The debugger restores the set image state 
when the SHOW TASK/CALLS/IMAGE command is complete.
 
Related commands:
 
  DEPOSIT/TASK
   EXAMINE/TASK
   (SET, SHOW) EVENT_FACILITY
   SET TASK|THREAD
 
 
 
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.
  
 
SHOW 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
  
 
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
 
 
 
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.
  
 
SHOW TRACE
 
Displays information about tracepoints.
 
 
Format
SHOW TRACE
  
 
Qualifiers
/PREDEFINED
Displays information about predefined tracepoints.
/USER
Displays information about user-defined tracepoints.
 
 
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
 
 
 
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.
  
 
SHOW 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
  
 
Qualifiers
/OVERRIDE
Identifies the current override type.
 
 
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
 
 
 
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.
  
 
SHOW WATCH
 
Displays information about watchpoints.
 
 
Format
SHOW WATCH
  
 
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
 
 
 
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).
  
 
SHOW WINDOW
 
Identifies the name and screen position of predefined and user-defined 
screen-mode windows.
 
 
Format
SHOW WINDOW [window-name[,...]]
  
 
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.
 
 
Qualifiers
/ALL
Lists all window definitions.
 
 
Description
This command 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. 
     | 
   
 
Related commands:
 
  (SHOW,CANCEL) DISPLAY
   (SET,SHOW) TERMINAL
   (SET,CANCEL) WINDOW
   SHOW SELECT
 
 
 
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.
  
 
SPAWN
 
Creates a subprocess, enabling you to execute DCL commands without 
terminating a debugging session or losing your debugging context.
 
  Note 
This command is not available in the HP DECwindows Motif for OpenVMS user interface to 
the debugger. 
     | 
   
 
 
 
Format
SPAWN [DCL-command]
  
 
Parameters
DCL-command
Specifies a DCL command which is then executed in a subprocess. Control 
is returned to the debugging session when the DCL command terminates.
If you do not specify a DCL command, a subprocess is created and you 
can then enter DCL commands. Either logging out of the spawned process 
or attaching to the parent process (with the DCL command ATTACH) 
returns you to your debugging session.
 
If the DCL command contains a semicolon, you must enclose the command 
in quotation marks ("). Otherwise the semicolon is interpreted as 
a debugger command separator. To include a quotation mark in the 
string, enter two consecutive quotation marks ("").
  
 
Qualifiers
/INPUT=file-spec
Specifies an input DCL command procedure containing one or more DCL 
commands to be executed by the spawned subprocess. The default file 
type is .COM. If you specify a DCL command string with the SPAWN 
command and an input file with /INPUT, the command string is processed 
before the input file. After processing of the input file is complete, 
the subprocess is terminated. Do not use the asterisk (*) wildcard 
character in the file specification.
/OUTPUT=file-spec
Writes the output from the SPAWN operation to the specified file. The 
default file type is .LOG. Do not use the asterisk (*) wildcard 
character in the file specification.
/WAIT (default)
/NOWAIT
Controls whether the debugging session (the parent process) is 
suspended while the subprocess is running. The /WAIT qualifier 
(default) suspends the debugging session until the subprocess is 
terminated. You cannot enter debugger commands until control returns to 
the parent process.
The /NOWAIT qualifier executes the subprocess in parallel with the 
debugging session. You can enter debugger commands while the subprocess 
is running. If you use /NOWAIT, you should specify a DCL command with 
the SPAWN command; the DCL command is then executed in the subprocess. 
A message indicates when the spawned subprocess completes.
 
The kept debugger (that is, the debugger invoked with the DCL command 
DEBUG/KEEP)
shares I/O channels with the parent process when it is run by a 
SPAWN/NOWAIT command. Therefore, in the HP DECwindows Motif for OpenVMS user interface, 
you must press the Return key twice on the DECterm from which the 
debugger was run after the debugger version number has appeared in the 
command view.
 
Optionally, you can execute the kept debugger in the following manner:
 
 
  
    
       
      
 $ DEFINE DBG$INPUT NL: 
 $ SPAWN/NOWAIT RUN DEBUG/KEEP 
 
 |   
 
 
Description
The SPAWN command acts exactly like the DCL command SPAWN. You can edit 
files, compile programs, read mail, and so on without ending your 
debugging session or losing your current debugging context.
In addition, you can spawn a DCL command SPAWN. DCL processes the 
second SPAWN command, including any qualifier specified with that 
command.
 
Related command:
 
  ATTACH
 
 
 
Examples
 
This example shows that the SPAWN command, without a parameter, creates 
a subprocess at DCL level. You can now enter DCL commands. Log out to 
return to the debugger prompt.
  
  
    | #2 | 
   
    
       
      
DBG> SPAWN/NOWAIT/INPUT=READ_NOTES/OUTPUT=0428NOTES
      
      
     | 
   
 
This command creates a subprocess that is executed in parallel with the 
debugging session. This subprocess executes the DCL command procedure 
READ_NOTES.COM. The output from the spawned operation is written to the 
file 0428NOTES.LOG.
  
  
    | #3 | 
   
    
       
      
DBG> SPAWN/NOWAIT SPAWN/OUT=MYCOM.LOG @MYCOM
      
      
     | 
   
 
This command creates a subprocess that is executed in parallel with the 
debugging session. This subprocess creates another subprocess to 
execute the DCL command procedure MYCOM.COM. The output from that 
operation is written to the file MYCOM.LOG.
  
  
 |