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