DBG$HELP.HLB  —  DEBUG  EVALUATE  /ADDRESS
    Evaluates an address expression and displays the result as a
    memory address or a register name.

    Format

      EVALUATE/ADDRESS  address-expression[, . . . ]

1  –  Parameters

 address-expression

    Specifies an address expression of any valid form (for example, a
    routine name, variable name, label, line number, and so on).

2  –  Qualifiers

2.1    /BINARY

    Displays the memory address in binary radix.

2.2    /DECIMAL

    Displays the memory address in decimal radix.

2.3    /HEXADECIMAL

    Displays the memory address in hexadecimal radix.

2.4    /OCTAL

    Displays the memory address in octal radix.

3  –  Description

    The EVALUATE/ADDRESS command enables you to determine the memory
    address or register associated with an address expression.

    The debugger can interpret and display integer data in any one of
    four radixes: binary, decimal, hexadecimal, and octal.

    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.

    You can use a radix qualifier (/BINARY, /OCTAL, and so on) to
    display address values in another radix. These qualifiers do not
    affect how the debugger interprets the data you specify; that is,
    they override the current output radix, but not the input radix.

    If the value of a variable is currently stored in a register
    instead of memory, the EVALUATE/ADDRESS command identifies the
    register. The radix qualifiers have no effect in that case.

    The EVALUATE/ADDRESS command sets the current entity built-in
    symbols %CURLOC and period (.)  to the location denoted by the
    address expression specified. Logical predecessors (%PREVLOC
    or the circumflex character (^))  and successors (%NEXTLOC) are
    based on the value of the current entity.

    On Alpha processors, the command EVALUATE/ADDRESS procedure-name
    displays the procedure descriptor address (not the code address)
    of a specified routine, entry point, or Ada package.

    Related commands:

       EVALUATE
       (SET,SHOW,CANCEL) RADIX
       SHOW SYMBOL/ADDRESS
       SYMBOLIZE

    Routine names in debugger expressions have different meanings on
    Integrity server and Alpha systems.

    On Alpha systems, the command EVALUATE/ADDRESS RTN-NAME evaluates
    to the address of the procedure descriptor.

4  –  Examples

    1.DBG> EVALUATE/ADDRESS RTN-NAME

      On Integrity server systems, instead of displaying the address
      of the official function descriptor, the debugger just displays
      the code address. For example, on Alpha systems, you can enter
      the following command and then set a breakpoint when a variable
      contains the address, FOO:

    2.DBG> SET BREAK .PC WHEN (.SOME_VARIABLE EQLA FOO)

      The breakpoint occurs when the variable contains the address
      of the procedure descriptor. However, when you enter the same
      command on Integrity server systems, the breakpoint is never
      reached because, although the user variable might contain the
      address of the function descriptor for FOO, the "EQLA FOO" in
      the WHEN clause compares it to the code address for FOO. As
      a result, the user variable never contains the code address
      of FOO. However, the first quadword of an Integrity server
      function descriptor contains the code address, you can write it
      as:

    3.DBG> SET BREAK .PC WHEN (..SOME_VARIABLE EQLA FOO)

                                   NOTE

       On Integrity server systems, you cannot copy the following
       line from your BLISS code: IF .SOME_VARIABLE EQLA FOO THEN
       do-something;

    4.     DBG> EVALUATE/ADDRESS MODNAME\%LINE 110
      3942
      DBG>

      This command displays the memory address denoted by the address
      expression MODNAME\%LINE 110.

    5.DBG> EVALUATE/ADDRESS/HEX A,B,C
      000004A4
      000004AC
      000004A0
      DBG>

      This command displays the memory addresses denoted by the
      address expressions A, B, and C in hexadecimal radix.

    6.DBG> EVALUATE/ADDRESS X
      MOD3\%R1
      DBG>

      This command indicates that variable X is associated with
      register R1. X is a nonstatic (register) variable.
Close Help