HP 3000 Manuals

:SETDUMP command [ System Debug Reference Manual ] MPE/iX 5.0 Documentation


System Debug Reference Manual

:SETDUMP command 

Arms the Debug call that is made during abnormal process termination.

Syntax 

     :SETDUMP [DB [,ST [,QS] ] [;ASCII] [;DEBUG="commands"] ]

Parameters 

commands         A quoted string of system Debug commands, up to 255
                 characters long.  If not specified, this parameter
                 defaults to a command string that produces a dual mode
                 stack trace and a register dump.

DB, ST, QS,      These parameters are provided for compatibility with MPE
ASCII            V. If specified, they are ignored.

Discussion 

The :SETDUMP command enables automatic execution of a set of Debug
commands when a process terminates abnormally (aborts).  This command
affects all processes subsequently created under the current job or
session.  That is, the setdump attribute and the commands parameter are
inherited by any new process.

During the process abort sequence, Debug executes the commands specified
in the commands parameter.  Any output is sent to the process's standard
list file ($STDLIST). Any commands that require input generate an error
message.

If the process that aborts is being run from a job, the process
terminates after executing the command string.  If the process is being
run from a session, after the specified command string has been executed,
Debug stops to accept interactive commands with I/O performed at the user
terminal, contingent upon the following requirements:

 *  The abort did not occur while in system code, and

 *  The process entered the abort code through a native mode interrupt.
    Such aborts are typically caused by arithmetic and code-related traps
    (see the XARITRAP and XCODETRAP intrinsics).


NOTE CM programs usually fail these tests.
Once Debug accepts interactive input, you can enter any Debug command. You may choose to resume the process or have it terminate (refer to the CONTINUE command in chapter 4). If the cause of the abort is a stack overflow, the command list is ignored and a stack trace is sent to $STDLIST, after which the process is terminated with no interactive debugging allowed. Examples The first example arms the Setdump feature. No parameters are specified, so the default command string is assumed (the default command string produces a stack trace and register dump). :setdump : The following example also arms the Setdump feature but specifies a list of commands to be executed if the process aborts. :setdump ;debug="w 'Process abort at ';w pc; wl ' ' nmpath(pc)" :


MPE/iX 5.0 Documentation