Displays information on the currently active routine calls.
Format
SHOW STACK [integer]
1 – Parameters
integer
Specifies the number of frames to display. If you omit the
parameter, the debugger displays information about all call
frames.
2 – Qualifiers
2.1 /START_LEVEL
/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
3 – Description
For each call frame, the SHOW STACK command displays information
such as stack pointers, condition handler, saved register values
(Alpha), 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 Alpha and Integrity server processors, a routine invocation
can result in:
o A stack frame procedure, with a call frame on the memory
stack,
o A register frame procedure, with a call frame stored in the
register set (Alpha) or on the register stack (Integrity
servers), or
o 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
4 – 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 segement 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 HP OpenVMS Calling Standard for more information.