Oracle Solaris Modular Debugger Guide

Signal Handling

MDB ignores the PIPE and QUIT signals. The INT signal aborts the command that is currently executing. The debugger intercepts and provides special handling for the ILL, TRAP, EMT, FPE, BUS, and SEGV signals. If any of these signals is generated asynchronously (delivered from another process using the kill(2) call), MDB restores the signal to its default disposition and dumps core. However, if any of these signals is generated synchronously by the debugger process itself and a dcmd from an externally loaded dmod is currently executing, and standard input is a terminal, MDB will provide a menu of choices allowing the user to force a core dump, quit without producing a core dump, stop for attach by a debugger, or attempt to resume. The resume option will abort all active commands and unload the dmod whose dcmd was active at the time the fault occurred. It can then be subsequently re-loaded by the user. The resume option provides limited protection against buggy dcmds. Refer to Warnings, Use of the Error Recovery Mechanism, for information about the risks associated with the resume option.