CBL_DEBUG_START

COBOL プログラムで高度なリモート デバッグ、ライブ記録、またはクロスセッション デバッグを開始できるようにします。
注: このルーチンはネイティブ COBOL でのみサポートされます。

構文:

CALL "CBL_DEBUG_START" using  by value      flags
                                            timeout
                              by reference  identifier
                              returning     status-code

パラメーター:

  呼び出しプロトタイプ使用時 (「説明の読み方」を参照) PIC
flags cblt-os-flags pic x(4) comp-5

または

pic x(8) comp-5 (64 ビットのネイティブ プログラムのみ)

timeout cblt-os-size pic s9(9) comp-5

または

pic s9(18) comp-5 (64 ビットのネイティブ プログラムのみ)

identifier pic x(n)
status-code 説明の読み方」を参照

入力パラメーター:

flags
アニメーションの開始方法を制御します。次のビットを設定できます。
ビット 意味
0 指定された識別子を待っているクロスセッションまたはリモート Animator プロセスがなく、指定された timeout を経過した場合のアクション。
0
任意のプロセスへのアタッチを待っているクロスセッションまたはリモート Animator プロセスとのマッチングを試みます。待機中のプロセスがない場合は、Character Animator (UNIX のみ) または Just-In-Time デバッグを使用してローカル デバッグを開始します。
1
エラー状態を返します。
1 デバッグを開始するタイミング。
0
直ちにデバッグを開始します。
1
次のデバッグ可能なエントリ ポイントに入ったときにデバッグを開始します。これは、呼び出された次のアニメート可能な COBOL プログラムの最初の文、または ENTRY 文を使用して呼び出された次のアニメート可能な COBOL コードの最初の文です。
2 ライブ記録を開始します。
timeout
タイムアウト。クロスセッションまたはリモート Animator プロセスの開始を待機する時間をミリ秒単位で指定します。タイムアウトが 0 の場合は待機しません。 -1 は無期限に待機することを意味します。
identifier
アタッチ先となる待機中の Animator プロセスを識別する一意の文字列。または、ライブ記録がアクティブな場合 (flags、ビット 2)、この文字列は使用されるライブ記録ファイルの名前を識別します。文字列は、空白文字または null で終了する必要があります。

説明:

この呼び出しを使用して、リモート アニメーションまたはクロスセッション アニメーションを開始します。プログラムが CBL_DEBUG_START の呼び出し時にデバッグされていない場合は、identifier 文字列を使用して、アタッチ先となる Animator プロセスが決定されます。

高度なリモート デバッグを使用する場合は、リモート デバッグを開始する COBOL 開発システムのコマンド ラインに入力した一意の文字列と同じ値に identifier 文字列を設定します。

クロスセッション デバッグを使用する場合は、他の Animator セッションの COBANIMSRV 環境変数と同じ値に identifier 文字列を設定します。

identifier 文字列を空白のままにした場合は、次のように、標準のクロスセッション アニメーション規則が使用されます。

  • COBANIMSRV 環境変数が設定されている場合、その値が識別子文字列として使用されます。
  • 設定されていない場合、プログラムは同じディレクトリで開始された任意の Animator プロセスにアタッチします。

対応する Animator プロセスが待機している場合、プログラムは停止してデバッグを開始します。flags のビット 1 が設定されている場合、プログラムは直ちに停止します。設定されていない場合は、次のデバッグ可能なエントリ ポイントに達すると実行が停止します。

対応する Animator プロセスが待機していない場合、timeout で指定されたミリ秒数だけ、または Animator プロセスが開始されるまで、プログラムは中断します。timeout が 0 の場合、中断なしに、直ちに呼び出しから戻ります。timeout が -1 の場合、プログラムは Animator プロセスが開始されるまでタイムアウトなしに中断します。

タイムアウト期間の終了時点でもアタッチ先となる対応する Animator プロセスがない場合は、flags のビット 0 の設定に応じてアクションが決まります。このビットが設定されている場合、呼び出しはエラー状態を返し、実行が続行されます。設定されていない場合は、ローカル Animator プロセスが開始されます。

CBL_DEBUG_START の呼び出し時にデバッグが実行中である場合は、flags に応じて Animator 内でデバッグ セッションが停止します。つまり、flags のビット 1 が 1 に設定されている場合は、現在のセッションが次のデバッグ可能なエントリ ポイントに入ったときに停止します。

このルーチンは正常終了すると 0、Animator の起動に失敗すると 0 以外の値を返します。

CBL_DEBUG_START の呼び出し時にデバッグのフラグ ビットとライブ記録のフラグ ビットの両方が設定されている場合は、ライブ記録が優先されます。ライブ記録を開始しようとしているプロセスをすでにデバッグしている場合、その呼び出しは失敗します。デバッグを開始するための呼び出しについても、すでにライブ記録を行っている場合は同様に失敗します。