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 VSI 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 VSI 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 VSI Text Processing Utility (TPU). 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 VSI 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 VSI 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 VSI 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 VSI 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 VSI 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 VSI 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.