[OpenVMS documentation]
[Site home] [Send comments] [Help with this site] [How to order documentation] [OpenVMS site] [Compaq site]
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.


SHOW 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


Qualifiers

/OVERRIDE

Identifies the current override radix.

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. 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:


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.


SHOW SCOPE

Identifies the current scope search list for symbol lookup.

Format

SHOW SCOPE


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 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:


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 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.


SHOW SEARCH

Identifies the default qualifiers (/ALL or /NEXT, /IDENTIFIER or /STRING) currently in effect for the SEARCH command.

Format

SHOW SEARCH


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:


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.


SHOW 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 DECwindows Motif interface to the debugger.

Format

SHOW SELECT


Description

The display attributes have the following properties:

Related commands:


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.


SHOW SOURCE

Identifies the source directory search lists and search methods currently in effect.

Format

SHOW SOURCE


Qualifiers

/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.

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, type Help Language_Support Ada.

Related commands:


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.


SHOW STACK

Displays information on the currently active routine calls.

Format

SHOW STACK [integer]


Parameters

integer

Specifies the number of frames to display. If you omit the parameter, the debugger displays information about all call frames.

Description

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:


Examples

#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.


SHOW STEP

Identifies the default qualifiers (/INTO, /INSTRUCTION, /NOSILENT and so on) currently in effect for the STEP command.

Format

SHOW STEP


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:


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:


SHOW 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[,...]]


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.


Qualifiers

/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.

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.

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:


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
      


Previous Next Contents Index

[Site home] [Send comments] [Help with this site] [How to order documentation] [OpenVMS site] [Compaq site]
[OpenVMS documentation]

Copyright © Compaq Computer Corporation 1998. All rights reserved.

Legal
4538PRO_061.HTML