Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (H-K)
Guardian Procedure Calls Reference Manual—522629-013
7-33
HIST_INIT_ Procedure
<7> HO_OneLine
modifies some formatting options to optimize the display of
information in a single output line. It does not, however, ensure
that all the information fits in one line.
context input
EXTADDR:value
designates the procedure context for display. The type of context whose address
appears in
context must match the context type specified in the options
parameter bits <13:15> (the HO_Init_* value) as follows:
Considerations
•
Suppression of a stack frame by HIST_INIT_ or HIST_PRIOR_ is determined by a
bit mask in the field
workspace.FrameSuppress. The HIST_INIT_ procedure
initializes the field to a default set of transition frames, or to zero (0) if the
HO_NoSuppress option of HIST_INIT_ is specified in the call to HIST_INIT_.
HIST_INIT_ examines the
FrameSuppress field at least once after initializing it.
To prevent suppression of initial frames, you need to set the HO_NoSuppress
option.
•
On return from the HIST_INIT_ procedure, the designated procedure context is
ready for examination and display. If that context is suppressed (and the
HO_NoSuppress option is not specified), then the next previous unsuppressed
context is available. If no unsuppressed context is available, HIST_INIT_ returns
an error.
•
Stack tracing
The HIST_INIT_ procedure is used with the HIST_FORMAT_ and
HIST_GETPRIOR_ procedures to perform stack tracing. HIST_INIT_ is called first
to initialize a workspace and determine the context to be displayed. A double loop
of HIST_FORMAT_ and HIST_GETPRIOR_ procedure calls then displays a history
of context transitions: HIST_FORMAT_ provides the text for display, and
HIST_PRIOR_ establishes the next context (for the previous procedure).
The HO_Init_Address option of HIST_INIT_ does not start a stack trace. It
generates only one context. However, the same loop of calls still works; the loop
simply terminates after one iteration. When this option is specified, the only
effective
workspace.FormatSelect options are HF_Name, HF_Parent,
If options.<13:15> specifies... Then context must point to...
HO_Init_Here (0)
Anything (it is ignored)
HO_Init_uContext
(1)
A uContext structure
HO_Init_JmpBuf
(2)
A jump buffer
HO_Init_Address
(4)
A code address