Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (H-K)
Guardian Procedure Calls Reference Manual—522629-013
7-17
HIST_FORMAT_ Procedure
If the signal handler instead passed its uContext and specified the
HO_Init_uContext option to HIST_INIT_, the trace would start with PRIV_PROC_
and otherwise appear the same.
Example Code
The following example code shows the way this procedure is typically called in the
TNS/R environment:
STRUCT hws (HISTWORKSPACE_TEMPLATE);
.
.
.
error := HIST_INIT_ (hws, version1, options, context);
IF error <> HIST_OK THEN...;
DO BEGIN
WHILE (len := HIST_FORMAT_ (hws, buffer, limit)) > 0D DO
.
! Print text in buffer
.
END UNTIL (error := HIST_GETPRIOR_(hws)) <> HIST_OK;
IF error <> HIST_DONE THEN...;
Omit the DO loop and the HIST_GETPRIOR_ call to display only a single procedure
state.
... Denotes one or more stack frames that
are not shown; although a complete
chain of procedure calls did take place,
they are not all displayed. In this case,
USER_PROC did not call
PRIV_PROC_ directly; the activation
record of the original CALLABLE
procedure (and perhaps others in the
chain of calls leading to the failure)
was discarded as the signal was
delivered to the user’s handler.
USER_PROC + 0x1C0 (UCr) Indicates the caller of the CALLABLE
procedure most recently invoked from
nonprivileged code. This is the
secondary context in the uContext
structure. It was generated by tracing
the stack to the privileged boundary,
before the switch to nonprivileged
mode to enter the user’s signal handler
occurred.
AnotherProc + 0x2F8 (UCr) Indicates the call site of USER_PROC.
Returned Text Explanation