[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

OpenVMS Debugger Manual


Previous Contents Index


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

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

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.


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:

SEARCH
(SET,SHOW) LANGUAGE
SET SEARCH

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 HP DECwindows Motif for OpenVMS user interface to the debugger.

Format

SHOW SELECT


Description

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


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:

(SET,CANCEL) SOURCE


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.

Qualifiers

/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

Description

For each call frame, the SHOW STACK command displays information such as stack pointers, condition handler, saved register values (Alpha), and 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 Integrity server and Alpha processors, a routine invocation can result in:

  • 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 (Alpha) or on the register stack (Integrity servers), or
  • 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

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 segment 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 OpenVMS Calling Standard for more information.


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:

STEP
SET STEP

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:

  • 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

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

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

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*
      


Previous Next Contents Index