: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