Rocket® Enterprise Developer (formerly a product of Micro Focus or formerly a product of Open Text) documentation, created before Rocket Software acquired certain products from OpenText, may include outdated references to "Micro Focus" or "OpenText", both of which are trademarks of OpenText or its affiliates. Rocket Software is not affiliated with Micro Focus or OpenText and has since rebranded these products as Rocket® products. You may also encounter outdated links in this documentation. If you do, please contact Rocket Support (support@rocketsoftware.com) for assistance.
Catch
使用法
指定したシグナルが生成されたときにプロセス制御をデバッガーに戻します。また、指定した ON-unit またはすべてのデフォルトの ON-unit の通知をオンにします。
コマンド構文
CATCH {/DEFAULT | [/NIGNORE|/IGNORE] signal}
または
CATCH {ON-unit}{/DEFAULT}
詳細は次のとおりです。
- signal
- シグナル名の呼び名 (SIGALRM や SIGINT など) またはその呼び名に対応するシグナル番号のいずれかを指定します。シグナル名は大文字でも小文字でも指定できます。
- ON-unit
- ON-unit を呼び出す条件がデバッガーで検出されたときに通知を受け取る ON-unit の名前。
例
次の例では、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.
注: /IGNORE および /NIGNORE フラグは、CATCH で ON-unit を指定する場合は使用されません。使用しても、次の例のメッセージが表示されて無視されます。
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 コマンドを使用します。