COBOL プログラムで高度なリモート デバッグまたはクロスセッション デバッグを実行できるようにする。
CALL "CBL_DEBUG_START" using by value flags timeout by reference identifier returning status-code
呼び出しプロトタイプ使用時 (説明の読み方) | PIC (32 ビット システム) | |
---|---|---|
flags | cblt-os-flags | pic x(4) comp-5
または pic x(8) comp-5 (64 ビットのネイティブ プログラムのみ) |
timeout | cblt-os-ssize | pic s9(9) comp-5
または pic s9(18) comp-5 (64 ビットのネイティブ プログラムのみ) |
identifier | pic x(n) | |
status-code | 説明の読み方 参照 |
flags | アニメーションの開始方法を制御する。以下のビットを設定できる。
|
||||||||||||||
timeout | クロスセッションまたはリモートの Animator プロセスの開始を待機するまでのタイムアウト期間 (ミリ秒単位)。0 を指定すると待機せず、-1 を指定すると無期限に待機する。 | ||||||||||||||
identifier | アタッチ先の待機 Animator プロセスを識別する一意の文字列。文字列の末尾にはスペースまたは NULL 値を指定する必要がある。 |
説明:
この呼び出しを使用して、リモート アニメーションまたはクロスセッション アニメーションを起動する。CBL_DEBUG_START の呼び出し時にプログラムがデバッグ中でない場合、identifier 文字列を使用して、アタッチ先の Animator プロセスを判断する。
高度なリモート デバッグを使用する場合は、リモート デバッグを起動する COBOL 開発システムのコマンド ラインに渡された一意の文字列と同じ値を identifier 文字列に設定する。
クロスセッション デバッグを使用する場合は、他の Animator セッションの COBANIMSRV 環境変数と同じ値を identifier 文字列に設定する。
identifier 文字列を空白にした場合、以下のように通常のクロスセッション アニメーション ルールが適用される。
対応する待機中の Animator プロセスがある場合、プログラムは停止しデバッグが開始される。flags にビット 1 が設定されている場合、プログラムは直ちに停止する。1 が設定されていない場合は、デバッグ可能な次のエントリ ポイントに入った時点で実行を停止する。
対応する待機中の Animator プロセスがない場合、timeout で指定された期間中 (ミリ秒単位)、または Animator プロセスが開始するまで、プログラムは一時停止する。timeout が 0 の場合、呼び出しは一時停止せず直ちに返す。timeout が -1 の場合、プログラムはタイムアウトせず、Animator がプロセスを開始するまで一時停止する。
タイムアウト期間を過ぎてもアタッチ先の対応する Animator プロセスがない場合、flags のビット 0 の設定に応じてアクションが異なる。0 が設定されている場合、呼び出しはエラー ステータスを返して実行を継続する。0 が設定されていない場合は、ローカルの Animator プロセスが開始する。
CBL_DEBUG_START の呼び出し時にプログラムがデバッグ中であった場合、中断キーを押した場合と同様に Animator 内でデバッグが停止する。
呼び出しが成功した場合、ルーチンは 0 の値を戻し、Animator の呼び出しに失敗した場合は 0 以外の値を戻す。