指定したシグナルが生成されたときにプロセス制御をデバッガーに戻します。また、指定した ON-unit またはすべてのデフォルトの ON-unit の通知をオンにします。
CATCH {/DEFAULT | [/NIGNORE|/IGNORE] signal}
または
CATCH {ON-unit}{/DEFAULT}
詳細は次のとおりです。
次の例では、SIGALRM が生成されると、プロセス制御が子プロセスからデバッガーに戻ります。
CodeWatch> CATCH /IGNORE SIGALRM Changing SIGALRM to be caught and ignored.
子プロセスが再開されると、SIGALRM は無視され、SIGALRM が生成されていないものとして処理が続行されます。
次の例の番号 28 はシグナル SIGWINCH を表しています。SIGWINCH が生成されると、プロセス制御が子プロセスからデバッガーに戻ります。
CodeWatch> CATCH /NIGNORE 28 Changing SIGWINCH to be caught and not ignored.
子プロセスが再開されると、シグナル SIGWINCH が認識され、SIGWINCH が発生したものとして処理が続行されます。
次の例では、ENDFILE ON-unit の通知をオンにします。
CodeWatch> CATCH ENDFILE Adding ENDFILE to be caught.
CodeWatch> CATCH /IGNORE ENDFILE /IGNORE and NIGNORE flags are not allowed with On units - ignored. Adding ENDFILE to be caught.
説明
キャッチして無視するように設定 (/IGNORE) されたシグナルが発生すると、プロセス制御がデバッガーに戻ります。その後に子プロセスが (Step や Continue などを使用して) 再開されると、指定したシグナルが発生していないものとして処理が続行されます。
キャッチして無視しないように設定 (/NIGNORE) されたシグナルが発生すると、プロセス制御がデバッガーに戻ります。その後に子プロセスが再開されると、指定した信号が発生したものとして処理が続行されます。キャッチするように設定されていないシグナルが発生した場合は、プロセス制御がデバッガーに戻りません。
デフォルトでは、特定のシグナルおよび ON-unit がデバッガーによってキャッチされます。Default オプションを指定すると、CATCH のすべての設定がデバッガーのデフォルトの設定にリセットされます。
現在のシグナルおよび ON-unit の設定のリストを取得するには、LCATCH /ALL コマンドを使用します。