Solaris モジューラデバッガ

シグナル処理

PIPE および QUIT のシグナルの場合、デバッガは無視します。INT シグナルの場合、現在実行中のコマンドが中止されます。ILL、TRAP、EMT、FPE、BUS、および SEGV のシグナルの場合、デバッガは中断され、特別な処理を行います。これらのシグナルが非同期的に生成された場合 (つまり、kill(2) を使用して別のプロセスから配信された場合)、mdb はシグナルをそのデフォルトの設定に復元して、コアダンプを生成します。しかし、これらのシグナルがデバッガプロセス自身によって同期的に生成され、外部的に読み込まれた dmod から dcmd が現在実行されており、さらに、標準入力が端末である場合、ユーザーは mdb が提供するメニューを使用して、強制的にコアダンプを生成するか、コアダンプを生成せずに終了するか、停止してデバッガに接続するか、あるいは、そのまま再開するかを選択できます。再開オプションを選択した場合、すべてのアクティブなコマンドは中止され、障害が発生したときに dcmd がアクティブであった dmod を読み込み解除します。この後、ユーザーは dmod を読み込み直すことができます。dcmd にバグがある場合に対して、再開オプションは制限付きの保護機能を提供します。再開オプションの危険性については、「警告」の「エラー回復メカニズムの使用」を参照してください。