Updated: 11 December 1998 |
OpenVMS Debugger Manual
Previous | Contents | Index |
The SHOW PROCESS/FULL %PREVIOUS_PROCESS command displays the maximum level of information about the previous process in the circular list of processes (process number 1, in this case).
#3 |
---|
DBG_2> SHOW PROCESS %PROCESS_NAME TEST_3 Number Name Hold State Current PC 7 TEST_3 watch of TEST_3\ROUT4\COUNT TEST_3\%LINE 54 DBG_2> |
This SHOW PROCESS command displays one line of information about process TEST_3. The image is suspended at a watchpoint of variable COUNT.
#4 |
---|
DBG_2> SHOW PROCESS/DYNAMIC Dynamic process setting is enabled DBG_2> |
This command indicates that dynamic process setting is enabled.
Identifies the current radix for the entry and display of integer data or, if you specify /OVERRIDE, the current override radix.
SHOW RADIX
/OVERRIDE
Identifies the current override radix.
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. On VAX processors, the exceptions are BLISS and MACRO--32, which have a default radix of hexadecimal. On Alpha processors, the exceptions are BLISS, MACRO--32, and MACRO--64, 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
#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.
Identifies the current scope search list for symbol lookup.
SHOW SCOPE
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 path-name 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 path-name 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
#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 path-name 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.
Identifies the default qualifiers (/ALL or /NEXT, /IDENTIFIER or /STRING) currently in effect for the SEARCH command.
SHOW SEARCH
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
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.
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 DECwindows Motif interface to the debugger.
SHOW SELECT
The display attributes have the following properties:
- A display that has the error attribute displays debugger diagnostic messages.
- A display that has the input attribute echoes your debugger input.
- 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.
- A display that has the output attribute displays any debugger output that is not directed to another display.
- A display that has the program attribute displays program input and output. Currently only the PROMPT display can have the program attribute.
- A display that has the prompt attribute is where the debugger prompts for input. Currently, only the PROMPT display can have the PROMPT attribute.
- A display that has the scroll attribute is the default display for the SCROLL, MOVE, and EXPAND commands.
- 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
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.
Identifies the source directory search lists and search methods currently in effect.
SHOW SOURCE
/DISPLAY
Identifies the search list used when the debugger displays source code./EDIT
Identifies the search list to be used during execution of the debugger's EDIT command.
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, type Help Language_Support Ada.
Related commands:
- (SET,CANCEL) SOURCE
#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.
Displays information on the currently active routine calls.
SHOW STACK [integer]
integer
Specifies the number of frames to display. If you omit the parameter, the debugger displays information about all call frames.
For each call frame, the SHOW STACK command displays information such as the condition handler, saved register values, and the argument list, if any. The latter is the list of arguments passed to the subroutine with that call. In some cases the argument list can contain the addresses of actual arguments. In such cases, use the EXAMINE address-expression command to display the values of these arguments.On VAX processors, each routine invocation results in a call frame on the call stack.
On Alpha processors, a routine invocation can result in a stack frame procedure (with a call frame on the stack), a register frame procedure (with a call frame stored in the register set), or a null frame procedure (without a call frame). SHOW STACK provides information on all three: stack frame procedures, register frame procedures, and null frame procedures. (See Example 2 below.)
Related command:
- SHOW CALLS
#1 |
---|
DBG> SHOW STACK stack frame 0 (2146814812) condition handler: 0 SPA: 0 S: 0 mask: ^M<R2> PSW: 0000 (hexadecimal) saved AP: 7 saved FP: 2146814852 saved PC: EIGHTQUEENS\%LINE 69 saved R2: 0 argument list:(1) EIGHTQUEENS\%LINE 68+2 stack frame 1 (2146814852) condition handler: SHARE$PASRTL+888 SPA: 0 S: 0 mask: none saved PSW: 0000 (hexadecimal) saved AP: 2146814924 saved FP: 2146814904 saved PC: SHARE$DEBUG+667 DBG> |
In this example for VAX systems, the SHOW STACK command displays information about all call stack frames at the current PC location.
#2 |
---|
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> |
This example is for Alpha systems. 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.
Identifies the default qualifiers (/INTO, /INSTRUCTION, /NOSILENT and so on) currently in effect for the STEP command.
SHOW STEP
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
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:
- Steps into called routines, but not those in system space or in shareable images
- Steps by instruction
- Does not display lines of source code while stepping
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.
SHOW SYMBOL symbol-name[,...] [IN scope[,...]]
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.
/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.
/DEFINED
Displays symbols you have defined with the DEFINE command (symbol definitions that are in the DEFINE symbol table)./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./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 about the class.
/LOCAL
Displays symbols that are defined with the DEFINE/LOCAL command (symbol definitions that are in the DEFINE symbol table)./TYPE
Displays data type information for each selected symbol./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.
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.If you do not specify a qualifier, 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
#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 |
Previous Next Contents Index
Copyright © Compaq Computer Corporation 1998. All rights reserved.
Legal4538PRO_061.HTML