36.9.5 プログラム実行時にシグナル登録しない環境変数CBLEXCEPT
この環境変数にNOSIGNALを指定すると,デバッグ用コンパイラオプション-DebugInf, -DebugInf,Trace,-DebugCompati,-DebugData,-TDInf,-CVInf,-DebugRange のどれかを指定したプログラムの実行中にシグナル登録をしません。
このため,異常終了要因となるシグナルが発生しても,デバッグ情報は出力しません。終了方法は,制御プログラムの終了処理に依存します。
制御プログラムの終了処理を次に示します。
-
NOSIGNALを指定した場合,セグメンテーション違反など,シグナルの発生により異常終了したとき,メッセージ,および異常終了時要約情報リストなどは出力されません。このとき,coreファイルが出力されます※ので,coreファイル,実行可能ファイルからシステムデバッガ(xdbやdbxなど)のトレース情報を採取してください。
また,ユーザプログラムで例外処理(シグナル登録)があれば,ユーザプログラムに制御が移ります。
なお,ミドルソフトウェアなどで,この例外処理を実装している場合もありますので,異常終了時の出力情報を確認してください。
-
NOSIGNALの指定をしても,COBOL実行時エラーメッセージを出力して異常終了する場合は,従来と同じ動作となり,デバッグ用コンパイラオプションを指定したプログラムでは,メッセージ,および異常終了時要約情報リストが出力されます。
-
この環境変数を指定しない場合は,従来と同様に,COBOLがシグナルを登録し,シグナル発生時はデバッグ情報を出力する動作となります。
-
この環境変数を指定しても実行性能への影響はありません。
- 注※
-
システムのcoreファイルサイズの設定値が0になっている場合,coreファイルが出力されません。システムのマニュアルなどで必要な設定値をご確認ください。