DBG$HELP.HLB  —  DEBUG  Built in Symbols
    The debugger built-in symbols provide options for specifying
    program entities and values in debugger commands, as follows:

    Function       Symbols

    Specify        %Rn, %R31, %AP, %FP, %SP, %PC, %PSL, %Vn, %VCR,
    Alpha          %VLR, %VMR, %Fn, %F31
    and VAX
    registers

    Specify        %ARn, %Bn, %CRn, %Fn, %IPn, %IR0, %PRED, %Pn, %Rn,
    Itanium[R]     %SR
    registers

    %LANGUAGE      Specify the current language

    %NAME          Construct identifiers

    %PARCNT        Count parameters passed in command procedures

    %BIN, %DEC,    Control radix
    %HEX, %OCT

    %CURLOC,       Specify consecutive program locations and the
    %NEXTLOC,      current value of an entity
    %PREVLOC,
    %CURVAL

    %LABEL,        Specify numeric labels and line numbers
    %LINE

    %ADDR,         Specify the argument passing mechanism for the
    %DESCR,        CALL command
    %REF, %VAL

    Specify        %ADAEXC_NAME, %EXC_FACILITY, %EXC_NAME, %EXC_
    processes,     NUM, %EXC_SEVERITY, %PROCESS_NAME, %PROCESS_PID,
    tasks, or      %PROCESS_NUMBER, %NEXT_PROCESS, %PREVIOUS_PROCESS,
    information    %VISIBLE_PROCESS, %ACTIVE_TASK, %CALLER_TASK,
    about          %NEXT_TASK, %TASK. %VISIBLE_TASK
    exceptions

    Specify        %PAGE, %WIDTH, %DECWINDOWS, %CURDISP, %CURSCROLL,
    information    %NEXTDISP, %NEXTINST, %NEXTOUTPUT, %NEXTSCROLL,
    about the      %NEXTSOURCE, %SOURCE_SCOPE, %INST_SCOPE, %CURRENT_
    interface      SCOPE_ENTRY, %NEXT_SCOPE_ENTRY, %PREVIOUS_SCOPE_
                   ENTRY

1  –  %ARn

    On I64 systems, specifies the following application registers:

    Register
    Symbol         Definition

    %AR0 . . .     Kernel registers
    %AR7
    %AR16          Register Stack Configuration
    %AR17          Backing Store Pointer
    %AR18          Backing Store Pointer for Memory Stores
    %AR19          RSE NaT Collection
    %AR32          Compare and Exchange Compare Value
    %AR36          User NaT Collection
    %AR40          Floating=point Status
    %AR64          Previous Function State
    %AR65          Loop Count
    %AR66          Epilog Count

2  –  %AP

    On VAX systems, specifies the VAX argument pointer register
    (%R12).

3  –  %Bn

    On I64 systems, specifies branch registers %B0 through %B7, as
    follows:

    Register
    Symbol         Definition

    %B0            Branch register 0; return pointer
    %B1 . . . %B7  Branch registers 1 to 7

4  –  %CRn

    On I64 systems, specifies control registers %CR0 through %CR81,
    as follows:

    Register
    Symbol         Definition

    %CR0           Default control
    %CR1           Interval timer match (SCD only)
    %CR2           Interruption vector address (SCD only)
    %CR8           Page table address (SCD only)
    %CR16,%IPSR    Interruption processor status
    %CR17          Interruption status
    %CR19          Interruption instruction pointer
    %CR20          Interruption faulting address
    %CR21          Interruption TLB insertion
    %CR22          Interruption instruction previous
    %CR23          Interruption function state
    %CR24          Interruption immediate
    %CR25          Interruption hash address
    %CR64          Local interrupt ID (SCD only)
    %CR66          Task priority (SCD only)
    %CR68 -        External interrupt request 0 to 3 (SCD only)
    %CR71
    %CR72          Interval timer (SCD only)
    %CR73          Performance monitoring (SCD only)
    %CR74          Corrected machine check vector (SCD only)
    %CR80 . . .    Local redirection 0 and 1 (SCD only)
    %CR81

5  –  %Fn

    On Alpha systems, specifies the Alpha floating-point registers
    %F0 through %F30. On I64 systems, specifies IEEE floating-point
    registers %F0 through %F127.

6  –  %F31

    On Alpha systems, specifies the ReadAsZero/Sink floating-point
    register. This register is permanently assigned the value zero.

7  –  %FP

    On VAX systems, specifies the VAX frame pointer register (%R13).
    On Alpha systems, specifies the Alpha stack frame base register
    (%R29).

8  –  %GP

    On I64 systems, specifies general registers R0 through R127.

9  –  %IP

    On I64 systems, specifies a special register for the program
    counter (i.e., Instruction pointer; slot number). Equivlient to
    %PC.

10  –  %Pn

    On I64 systems, specifies a predicate (single-bit) registers 0 to
    63.

11  –  %PC

    On VAX or Alpha, specifies the program counter (PC) register
    containing the address of the next instruction to be executed by
    the processor. On I64, specifies the instruction bundle address
    (from the %IP register) and the slot offset within this bundle.

    VAX Examples:

    DBG> EXAMINE %PC   ! Display the value in the PC
    MOD3\%PC:  1554
     ! address of next instruction to execute

    DBG> EXAMINE %PC   ! Display the value at the address in the PC
    MOD3\%LINE 12:    MOVL B^12(R11),R1
                       ! next instruction to execute

12  –  %PRED

    On I64 systems, specifies a 64-bit predicate collection register,
    PRED, representing predicate registers P0 through P63. Individual
    predicate registers can be examined using the syntax in the
    following example:

    PRn,1,0

    where n is the predicate register number

13  –  %PS

    On Alpha systems, specifies the Alpha processor status register.

14  –  %PSL

    On VAX systems, specifies the VAX processor status longword.

15  –  %Rn

    On VAX systems, specifies the VAX general purpose registers %R0
    through %R11. On Alpha systems, specifies the Alpha integer
    registers %R0 through %R28. On I64 systems, specifies integer
    registers %R0 through %R127, as follows:

    Register
    Symbol         Definition

    %R0            General integer register 0
    %R1 (%GP)      Global Data Pointer
    %R2 . . . %R11 General integer registers 2 to 11
    %R12           Stack Pointer
    %R13           Thread Pointer
    %R14 . . .     General integer registers 14 to 24
    %R24
    %R25           Argument information
    %R26 . . .     General integer registers 26 to 127 (%R32 to %R127
    %R127          may or may not be allocated/active)

    Example:

    DBG> DEPOSIT %R1 = 23

16  –  %R31

    On Alpha systems, specifies the ReadAsZero/Sink register. This
    register is permanently assigned the value zero.

17  –  %SP

    On VAX systems, specifies the VAX stack pointer register (%R14).
    On Alpha systems, specifies the Alpha stack pointer register
    (%R30). On I64 systems, specifies the I64 stack pointer register
    (%R12).

18  –  %SR

    On I64 systems, specifies the invocation handle (%IH).

19  –  %Vn

    On VAX systems, specifies the VAX vector registers %V0 through
    %V15.

20  –  %VLR

    On VAX systems, specifies the VAX vector length register (%VLR).
    The VLR limits the highest element of a vector register that is
    processed by a vector instruction.

21  –  %VMR

    On VAX systems, specifies the VAX vector mask register (%VMR).
    The VMR specifies a mask (a bit pattern) that a vector
    instruction uses in order to operate on only certain elements
    of a vector register operand.

22  –  %LANGUAGE

    Specifies the current language. The current language is the
    language last established with the SET LANGUAGE command. BY
    default, if you did not enter a SET LANGUAGE command, the current
    language is the language of the module containing the main
    program (image transfer address).

    Example:

    DBG> EVALUATE %LANGUAGE
    'FORTRAN'
    DBG> SET LANGUAGE ADA
    DBG> EVALUATE %LANGUAGE
    "ADA"

23  –  %NAME

    Enables you to constuct identifiers that are not ordinarily legal
    in the current language.

    Format:

    %NAME id-char-string
    %NAME 'any-char-string'

    Examples:

    DBG> EXAMINE %NAME 12      ! Examine variable nameD '12'
    DBG> EXAMINE %NAME 'P.AAA' ! Examine generated label P.AAA

24  –  %PARCNT

    Specifies the number of actual parameters to the current command
    procedure. Use %PARCNT in command procedures that can take a
    variable number of actual parameters. You can use %PARCNT only
    inside command procedures; it is not defined when commands are
    entered from the terminal.

    For example, suppose the command procedure ABC is executed with
    the command @ABC 111,222,333. Inside ABC, %PARCNT then has the
    value 3 because there are three parameters on this particular
    call to ABC.

    Example:

    EVALUATE %PARCNT
    FOR I = 1 TO %PARCNT DO (DECLARE X:VALUE; EVALUATE X)

25  –  %BIN

    Specifies that a following numeric literal (or all numeric
    literals in a following parenthesized expression) be interpreted
    in binary radix.

    Examples:

    DBG> EVALUATE/DEC %BIN 10
    2
    DBG> EVALUATE/DEC %BIN (10 + 10)
    4

26  –  %DEC

    Specifies that a following numeric literal (or all numeric
    literals in a following parenthesized expression) be interpreted
    in decimal radix.

    Examples:

    DBG> EVALUATE/HEX %DEC 10
    0A
    DBG> DBG> EVALUATE/HEX %DEC (10 + 10)
    14

27  –  %HEX

    Specifies that a following numeric literal (or all numeric
    literals in a following parenthesized expression) be interpreted
    in hexadecimal radix.

    Examples:

    DBG> EVALUATE/HEX %DEC 10
    16
    DBG> EVALUATE/DEC %HEX (10 + 10)
    32

28  –  %OCT

    Specifies that a following numeric literal (or all numeric
    literals in a following parenthesized expression) be interpreted
    in octal radix.

    Examples:

    DBG> EVALUATE/DEC %OCT 10
    8
    DBG> EVALUATE/DEC %OCT (10 + 10)
    16

29  –  %CURLOC

    Specifies the current logical entity (that is, the program
    location last referenced by an EXAMINE, DEPOSIT, or
    EVALUATE/ADDRESS command). You can also use the period character
    (.)  for this purpose.

    Example:

    DBG> EXAMINE RADIUS
    CIRCLE\RADIUS:  0.0000000E+00
    DBG> DEPOSIT %CURLOC = 1   ! Set RADIUS to 1
    DBG> DEPOSIT . = 2         ! Set RADIUS to 2

30  –  %NEXTLOC

    Specifies the logical successor of the current entity (that is,
    the program location that logically follows the location last
    referenced by an EXAMINE, DEPOSIT, or EVALUATE/ADDRESS command).
    The EXAMINE command without a parameter is equivalent to EXAMINE
    %NEXTLOC.

    Example:

    DBG> EXAMINE PRIMES(4)
    SIEVE\PRIMES(4): 7
    DBG> EXAMINE %NEXTLOC
    SIEVE\PRIMES(5): 11
    DBG> EXAMINE    ! Equivalent to EXAMINE %NEXTLOC
    SIEVE\PRIMES(6): 13

31  –  %PREVLOC

    Specifies the logical predecessor of the current entity (that is,
    the program location that logically precedes the location last
    referenced by an EXAMINE, DEPOSIT, or EVALUATE/ADDRESS command).
    You can also use the circumflex character (^)  for this purpose.

    Examples:

    DBG> EXAMINE PRIMES(6)
    SIEVE\PRIMES(6):  13
    DBG> EXAMINE %PREVLOC
    SIEVE\PRIMES(5):  11
    DBG> EXAMINE ^  ! Equivalent to EXAMINE %PREVLOC
    SIEVE\PRIMES(4):  7

32  –  %CURVAL

    Specifies the value last displayed by an EVALUATE or EXAMINE
    command, or deposited by a DEPOSIT command. You can also use the
    backslash character (\)  for this purpose. These two symbols are
    not affected by an EVALUATE/ADDRESS command.

    Example:

    DBG> EXAMINE RADIUS
    CIRCLE\RADIUS:  0.0000000E+00
    DBG> EVALUATE %CURVAL
    0.0000000E+00

33  –  %LABEL

    %LABEL n is the debugger syntax for referring to label n in your
    program. This is intended for languages like FORTRAN which have
    numeric program labels. You can qualify the label with a pathname
    specifying the containing module.

    Example:

    DBG> SET BREAK MODULENAME\%LABEL 10

    The old syntax of %LABEL MODULENAME\n is no longer accepted.

34  –  %LINE

    %LINE n is the debugger syntax for referring to line n in
    your program. You can qualify the line number with a pathname
    specifying the containing module.

    Example:

    DBG> SET BREAK MODULENAME\%LINE 10

    The old syntax of %LINE MODULENAME\n is no longer accepted.

35  –  %PAGE

    Specifies the current height of the screen, in lines, as used by
    the debbuger.

    For example, the following command defines a screen mode window
    named MIDDLE that occupies a region around the middle of the
    screen:

    DBG> SET WINDOW MIDDLE AT -
    _DBG> (%PAGE/4,%PAGE/2,%WIDTH/4,%WIDTH/2)

36  –  %WIDTH

    Specifies the current width of the screen, in columns, as used by
    the debugger.

    For example, the following command defines a screen mode window
    named MIDDLE that occupies a region around the middle of the
    screen:

    DBG> SET WINDOW MIDDLE AT -
    _DBG> (%PAGE/4,%PAGE/2,%WIDTH/4,%WIDTH/2)

37  –  %DECWINDOWS

    Enables you to determine whether you are using the debugger's
    command interface or DECwindows Motif interface. With the
    DECwindows Motif interface, the value of %DECWINDOWS is 1 (TRUE).
    With the command interface, the value is 0 (FALSE). For example:

    DBG> EVALUATE %DECWINDOWS
    0

    The following example shows how to use %DECWINDOWS in a debugger
    initialization file to position the debugger source window, SRC,
    at debugger startup:

    IF %DECWINDOWS THEN
       ! DECwindows Motif (workstation) syntax:
       (DISPLAY SRC AT (100,300,100,700))
    ELSE
       ! Screen-mode (terminal) syntax:
       (DISPLAY SRC AT (AT H1))

38  –  %ADDR

    (Default.) Used with the CALL command to specify the argument
    passing mechanism. The %ADDR symbol specifies that the argument
    is passed by address. See the CALL command.

39  –  %DESCR

    Used with the CALL command to specify the argument passing
    mechanism. The %DESCR symbol specifies that the argument is
    passed by descriptor. See the CALL command.

40  –  %REF

    Used with the CALL command to specify the argument passing
    mechanism. The %REF symbol specifies that the argument is passed
    by reference. See the CALL command.

41  –  %VAL

    Used with the CALL command to specify the argument passing
    mechanism. The %VAL symbol specifies that the argument is passed
    by value. See the CALL command.

42  –  %CURDISP

    Specifies the current display (screen mode). This is the display
    most recently referenced with a DISPLAY command (that is, the
    least occluded display.)

    Example:

    DBG> SELECT/SCROLL %CURDISP

43  –  %CURSCROLL

    Specifies the current (screen mode) scrolling display. This is
    the default display for the SCROLL, MOVE, and EXPAND commands, as
    well as for the associated keypad keys (KP2, KP4, KP6, and KP8).

    Example:

    DBG> EXPAND/DOWN:5 %CURSCROLL

44  –  %NEXTDISP

    Specifies the next display after the current display in the
    screen-mode display list. The next display is the display
    that follows the topmost display. Because the display list is
    circular, this is the display at the bottom of the pasteboard
    (the most occluded display).

    Example:

    DBG> DISPLAY/POP %NEXTDISP

45  –  %NEXTINST

    Specifies the next instruction display after the current
    instruction display in the screen-mode display list. The current
    instruction display is the display that receives the output from
    EXAMINE/INSTRUCTION commands.

    Example:

    DBG> DISPLAY/REMOVE %NEXTINST

46  –  %NEXTOUTPUT

    Specifies the next output display after the current output
    display in the screen-mode display list. An output display
    receives debugger output that is not already directed to another
    display.

    Example:

    DBG> EXTRACT %NEXTOUTPUT OUT4.TXT

47  –  %NEXTSCROLL

    Specifies the next display after the current scrolling display in
    the screen-mode display list.

    Example:

    DBG> SELECT/SCROLL %NEXTSCROLL

48  –  %NEXTSOURCE

    Specifies the next source display after the current source
    display in the screen-mode display list. The current source
    display is the display which receives the output from TYPE and
    EXAMINE/SOURCE commands.

    Example:

    DBG> SELECT/SOURCE %NEXTSOURCE

49  –  %SOURCE SCOPE

    Specifies the scope, relative to the call stack, for which source
    code is displayed in a screen-mode source display. If source code
    is not available for display in that scope, the debugger displays
    source code for the next level down the call stack for which it
    is available.

    The %SOURCE_SCOPE symbol is used in the definition of the
    predefined screen-mode source display SRC:

    DBG> DISPLAY SRC AT H1 SOURCE -
    _DBG> (EXAMINE/SOURCE .%SOURCE_SCOPE\%PC)

50  –  %INST SCOPE

    Specifies the scope, relative to the call stack, for which
    decoded instructions are displayed in a screen-mode instruction
    display.

    The %INST_SCOPE symbol is used in the definition of the
    predefined screen-mode instruction display INST:

    DBG> DISPLAY INST AT H1 INSTRUCTION -
    _DBG> (EXAMINE/INST .%INST_SCOPE\%PC)

51  –  %CURRENT SCOPE ENTRY

    Specifies the call frame that the debugger is currently using as
    reference when displaying source code or decoded instructions, or
    when searching for symbols. By default, this is call frame 0.

    The %CURRENT_SCOPE_ENTRY symbol returns an integer value that
    denotes a call frame on the call stack. Call frame 0 denotes
    the routine at the top of the call stack, where execution is
    suspended. Call frame 1 denotes the calling routine, and so on.

52  –  %NEXT SCOPE ENTRY

    Specifies the next frame down the call stack from the call frame
    denoted by %CURRENT_SCOPE_ENTRY.

    The %NEXT_SCOPE_ENTRY symbol returns an integer value that
    denotes a call frame on the call stack. Call frame 0 denotes
    the routine at the top of the call stack, where execution is
    suspended. Call frame 1 denotes the calling routine, and so on.

53  –  %PREVIOUS SCOPE ENTRY

    Specifies the next frame up the call stack from the call frame
    denoted by %CURRENT_SCOPE_ENTRY.

    The %PREVIOUS_SCOPE_ENTRY symbol returns an integer value that
    denotes a call frame on the call stack. Call frame 0 denotes
    the routine at the top of the call stack, where execution is
    suspended. Call frame 1 denotes the calling routine, and so on.

54  –  %PROCESS NAME

    Applies to a multiprocess debugging configuration (when
    DBG$PROCESS has the value MULTIPROCESS).

    When specifying a process name in a debugger command string, you
    can optionally precede the name with the symbol %PROCESS_NAME.

    Example:

    DBG_2> EXIT %PROCESS_NAME JONES_4

55  –  %PROCESS PID

    Applies to a multiprocess debugging configuration (when
    DBG$PROCESS has the value MULTIPROCESS).

    When specifying a process identification number (PID) in a
    debugger command string, you must precede the PID with the symbol
    %PROCESS_PID.

    Example:

    DBG_2> CONNECT %PROCESS_PID 258001B6

56  –  %PROCESS NUMBER

    Applies to a multiprocess debugging configuration (when
    DBG$PROCESS has the value MULTIPROCESS).

    When specifying a debugger-assigned process number in a debugger
    command string, you must precede the number with %PROCESS_NUMBER
    (or the abbreviation %PROC).

    Example:

    DBG_2> SHOW PROCESS %PROC 3

57  –  %NEXT PROCESS

    Applies to a multiprocess debugging configuration (when
    DBG$PROCESS has the value MULTIPROCESS). Specifies the next
    process in the debugger's process list after the visible process.

    Example:

    DBG_3> SET PROCESS/HOLD %NEXT_PROCESS

58  –  %PREVIOUS PROCESS

    Applies to a multiprocess debugging configuration (when
    DBG$PROCESS has the value MULTIPROCESS). Specifies the previous
    process in the debugger's process list before the visible
    process.

    Example:

    DBG_3> SHOW PROCESS/FULL %PREVIOUS_PROCESS

59  –  %VISIBLE PROCESS

    Applies to a multiprocess debugging configuration (when
    DBG$PROCESS has the value MULTIPROCESS). Specifies the visible
    process. This is the process whose stack, register set, and
    images are the current context for looking up symbols, register
    values, routine calls, breakpoints, and so on.

    Example:

    DBG_2> DO/PROCESS=(%VISIBLE_PROCESS,%NEXT_PROCESS) -
    _DBG_2> (EXAMINE X)

60  –  %ADAEXC NAME

    A special form of %EXC_NAME for ADA programs. In ADA, an
    exception can be raised with syntax such as "raise XXX;". In
    this case, the exception name in the operating system sense is
    just "EXCEPTION," which is what %E returns. The ADA exception
    name ("XXX") is returned by %ADAEXC_NAME.

    Example:

    DBG> SET BREAK/EXCEPTION WHEN -
    _DBG> (%ADAEXC_NAME = "XXX")

61  –  %EXC FACILITY

    Gives you the facility of the current exception. This provides a
    way of qualifying exception breaks.

    Example:

    DBG> EVALUATE %EXC_FACILITY
    "SYSTEM"
    DBG> SET BREAK/EXC WHEN -
    _DBG> (%EXC_FAC = "SYSTEM")

62  –  %EXC NAME

    Gives you the name of the current exception. This provides a way
    of qualifying exception breaks.

    Example:

    DBG> EVALUATE %EXC_NAME
    "FLTDIV_F"
    DBG> SET BREAK/EXC WHEN (%EXC_NAME = "FLTDIV_F")

63  –  %EXC NUM

    Gives you the current exception number. This provides a way of
    qualifying exception breaks.

    Example:

    DBG> EVALUATE %EXC_NUM
    12
    DBG> EVALUATE/COND %EXC_NUM
    %SYSTEM-F-ACCVIO, access violation at PC !XL,
         virtual address !XL
    DBG> SET BREAK/EXC WHEN (%EXC_NUM = 12)

64  –  %EXC SEVERITY

    Gives you the severity code of the current exception. This
    provides a way of qualifying exception breaks.

    Example:

    DBG> EVALUATE %EXC_SEVERITY
    "F"
    DBG> >U>(SET BREAK/EXC WHEN (%EXC_SEV = "F"))

65  –  %ACTIVE TASK

    (Applies only to tasking programs.) Gives you the currently
    active task (the one that was running when the debugger last
    took control). See the SET TASK/ACTIVE command.

    Example:

    DBG> EVALUATE %ACTIVE_TASK
    %TASK 2

66  –  %CALLER TASK

    (Applies only to Ada tasking programs.) Gives you the task which
    is the entry caller of the active task during a task rendezvous.

    If the active task (%ACTIVE_TASK) is not currently executing
    an accept statement (that is, a rendezvous is not in progress),
    %CALLER_TASK returns %TASK 0.

    Example:

    The following command sets a breakpoint within an accept
    statement. The breakpoint is triggered only when %TASK 3 is the
    task making the entry call of the rendezvous.

    DBG> TYPE 51:53
    module SAMPLE
        51:         accept RENDEZVOUS do
        52:            PUT_LINE("Beginning the rendezvous");
        53:         end RENDEZVOUS;
    DBG> SET BREAK %LINE 52 WHEN (%CALLER_TASK = %TASK 3)

67  –  %NEXT TASK

    (Applies only to tasking programs.) Gives you the next task after
    the one currently visible (%VISIBLE_TASK). "Next" in this context
    is just an internal ordering that cycles through all the tasks.
    This lets you set up command procedures that cycle through all
    tasks.

    Example:

    DBG> WHILE %NEXT NEQ %ACTIVE DO -
    _DBG> (SET TASK %NEXT; SHOW CALLS)

68  –  %TASK

    (Applies only to tasking programs.)

    %TASK n (where n is a positive decimal integer) is the debugger
    syntax for referring to a task by its task ID. The task ID is
    a unique number associated with a task at the time the task
    is created. The task number n can be obtained using the SHOW
    TASK/ALL command or by examining task objects.

    Example:

    DBG> EXAMINE T1
    T1: %TASK 2
    DBG> SET TASK %TASK 2

69  –  %VISIBLE TASK

    (Applies only to tasking programs.) Gives you the task that the
    debugger is using to do symbol lookups. This is the default task
    assumed by debugging commands when you do not (or cannot) specify
    a task. For example, the EXAMINE %R0 command displays register 0
    of the visible task.

    This is normally the same as %ACTIVE_TASK but can be changed
    using the SET TASK command.

    Example:

    DBG> SET TASK %TASK 2
    DBG> EVALUATE %VISIBLE
    %TASK 2
Close Help