Solaris 模块调试器指南

信号处理

调试器会忽略 PIPE 和 QUIT 信号。INT 信号会异常中止当前执行的命令。调试器可拦截 ILL、TRAP、EMT、FPE、BUS 和 SEGV 信号,并提供相应的特殊处理。如果其中任一信号是以异步方式生成的(即使用 kill(2) 从其他进程传送),则 mdb 会将该信号恢复为其缺省部署和转储核心。但是,如果其中任一信号是由调试器进程本身同步生成的,从外部装入 dmod 中的 dcmd 当前正在执行并且标准输入是终端,则 mdb 将提供一个选项菜单,允许用户强制执行核心转储、退出而不生成核心转储、为调试器附加而停止或尝试恢复等操作。 恢复选项将异常中止所有活动的命令,并卸载出现故障时其 dcmd 处于活动状态的 dmod。然后,用户可以将其重新装入。恢复选项可针对错误的 dcmd 提供有限的保护。有关与恢复选项关联的风险的信息,请参阅警告中的“使用错误恢复机制”部分。