DBG$HELP.HLB  —  DEBUG  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[, . . . ]]

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.

2  –  Qualifiers

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.

2.2    /DEFINED

    Displays symbols you have defined with the DEFINE command (symbol
    definitions that are in the DEFINE symbol table).

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.

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.

2.5    /LOCAL

    Displays symbols that are defined with the DEFINE/LOCAL command
    (symbol definitions that are in the DEFINE symbol table).

2.6    /TYPE

    Displays data type information for each selected symbol.

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.

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

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