Guardian Procedure Calls Reference Manual
An example trace in the TNS/E environment:
options = HO_Init_Here + HO_ShowProtected
FormatSelect = HF_trace + HF_LocLineIPF
xtracer + 0x110 (UCr)
pc:0x0000000070000CD0 psp:0x000000006FFFDFD0 sp:0x000000006FFFCD70
handler + 0x220 (UCr)
pc:0x0000000070001520 psp:0x000000006FFFE050 sp:0x000000006FFFDFD0
---
doer + 0x170 (UCr)
pc:0x0000000070001910 psp:0x000000006DFDFE80 sp:0x000000006DFDFE00
...
HIST_TEST_ACTOR + 0x80 (UCr)
pc:0x0000000070001CC0 psp:0x000000006FFFFDF0 sp:0x000000006FFFFD80
main + 0xAD0 (UCr)
pc:0x0000000070002810 psp:0x000000006FFFFEE0 sp:0x000000006FFFFDF0
_MAIN + 0x160 (UCr)
pc:0x0000000070002CE0 psp:0x000000006FFFFF30 sp:0x000000006FFFFEE0
In the next example, doer was called in unprivileged state. For this trace:
• options equals HO_Init_uContext + HO_OneLine, and the address of the handler's context
is passed in the context parameter of HIST_INIT_.
• FormatSelect equals HF_trace (the default value) + HF_LocLineRISC.
The HO_OneLine option causes the name and register states to appear on the same line. Only
one frame is reported because HIST_GETPRIOR_ is not called.
An example in the TNS/R environment:
doer + 0x5C (UCr) pc=0x70002290 VFP=0x4FFFFCE0 FP=sp=0x4FFFFCB0
An example trace in the TNS/E environment:
options = HO_Init_uContext + HO_OneLine
FormatSelect = HF_trace + HF_LocLineIPF
doer + 0x170(UCr) pc:0x0000000070001910 psp:0x000000006DFDFE80sp:0x000000
006DFDFE00
Example Traces: Case 2
This trace results from a sequence of events similar to case 1, except that the CALLABLE procedure
named caller attempts to divide by zero before invoking doer. The output does not include an
ellipsis because the trap occurs in a CALLABLE procedure called by a nonprivileged procedure.
For this trace:
• options equals HO_Init_Here + HO_ShowProtected + HO_NoSuppress.
• FormatSelect equals HF_trace (the default value).
HIST_FORMAT_ Procedure 707