System Debug Reference Manual (32650-90888)

60 Chapter3
System Debug Interface Commands and Intrinsics
HPDEBUG Intrinsic
Passes an item value indicating if the Debug welcome
banner should be printed. An item value of zero (0) keeps
the banner from printing. Any other value causes the
banner to print. Default: Print the welcome banner (1).
Discussion
The HPDEBUG intrinsic calls Debug with an optional character array containing Debug
commands. If the command list is specified, Debug pushes the commands onto its
command stack and executes them.
If no command in the command string causes control to be returned to the calling
procedure (that is, a CONTINUE command), the user is left in Debug as long as the process is
being run from a session environment. Processes run from a job are not allowed to stop in
Debug. If the command string does cause control to return to the calling procedure, any
remaining commands are left pending on Debug's command stack to be executed the next
time Debug is called.
Refer to the MPE/iX Intrinsics Reference Manual for additional discussion of this
intrinsic.
Condition Codes
This intrinsic does not return meaningful condition code values. Status information is
returned in the optional
status
parameter described above.
Example
The following example is an excerpt from a Pascal program which illustrates a call to the
HPDEBUG intrinsic. The commands passed to Debug produce output similar to that of the
STACKDUMP intrinsic. The command string contains commands that tell Debug to first open
a list file, print a title, produce a stack trace, and finally close the list file and return to the
calling routine.
PROCEDURE call_hpdebug;
VAR debug_cmds : string[255];:
status : integer;
procedure HPDEBUG; intrinsic;
BEGIN
debug_cmds := '\list myfile;wl "***STACKDUMP***";tr,dual;list close;c\';
hpdebug(status, debug_cmds);
IF (status <> 0) THEN
error_routine(status, 'HPDEBUG');
END;