HPlogo System Debug Reference Manual > Chapter 3 System Debug Interface Commands and Intrinsics

HPDEBUG Intrinsic

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4 ♥
E0300 Edition 3
E0692 Edition 3

Enters Debug and optionally executes a specified set of system Debug commands.

Callable from: NM

Syntax



   HPDEBUG (status, cmdstr [,itemnum, item] [...]);

Parameters


status

32-bit signed integer by reference (optional)

The status returned by the HPDEBUG intrinsic call. The variable is a record containing two 16-bit fields, with the error number in the high-order 16 bits and the intrinsic subsystem number in the low-order 16 bits.

cmdstr

character array (optional)

A packed array of characters from 255 to 1024 bytes that contains the Debug commands to be executed. The first character in the array is recognized as the command delimiter. The last character in the command string must be followed immediately by the same delimiter.

itemnum

32-bit signed integer by value (optional)

The item number of an HPDEBUG option as defined in the following HPDEBUG options.

item

type varies by value (optional)

Passes and/or returns the HPDEBUG option indicated by the corresponding itemnum parameter. The itemnum/item optional parameters must appear in pairs. You can specify any number of option pairs. Any itemnum takes precedence over any previously specified duplicate itemnum. The following discussion lists the optional itemnum/item parameter pairs available to you.

itemnum=1

Output file number (I32)

Passes an item value specifying an opened file number to which DEBUG output is sent. The file must be a writeable ASCII file. The item value 1 is valid and specifies that $STDLIST will be used. Default: Use terminal LDEV for sessions and $STDLIST for jobs.

itemnum=2

Welcome Banner Flag (I32)

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;




DEBUG Intrinsic


HPRESETDUMP Intrinsic