ブレークポイントは、アプリケーションの実行が一時停止するコード行またはプログラム行を示します。アプリケーションが一時停止したら、その特定のステップでデータ項目の値を確認および変更することができます。
同様に、監視ポイントは、監視するデータ項目に関連付けられたメモリ領域を示すタイプのブレークポイントであり、そのメモリが更新されるとアプリケーションを一時停止します。このようなタイプのブレークポイントは、特定のコード行にではなく、データ項目に設定されます。このタイプのブレークポイントは、JVM COBOL アプリケーションではサポートされていません。
両方のタイプのブレークポイントに条件を追加できます。条件は、コード化された式にすることができます。たとえば、my-variable に設定された条件付き監視ポイントで、式を my-variable > your-variable とすると、my-variable のメモリが更新されて my-variable の値が your-variable より大きかった場合にのみ、実行が中断されます。条件はヒット カウントにもなります。たとえば、プログラムの 15 行目が条件付きブレークポイントで、hit count > 2 に設定されると、その行の 3 回目の実行が行われようとした場合にのみ、実行が中断されます。リバース デバッグを行っている場合、後方に進めてもヒット カウントは増加します。両方のタイプの条件を組み合わせることもできます。実行を中断するには両方の条件が満たされる必要があります。
[Breakpoints] プロパティ ビューには、バインドされたすべてのブレークポイントおよび監視ポイントの詳細が表示されます。また、このビューではブレークポイントおよび監視ポイントを設定できます。
ブレークポイントおよび監視ポイントを設定するには、次の操作を実行します。
アプリケーションが使用するワークスペースで、任意のプログラムのブレークポイントを作成できます。これを行うには、[Run > Add Program Breakpoint] をクリックするか、または [Breakpoints] ビューの アイコンをクリックして、ファイルの名前を入力します。
ブレークポイントが設定されているときは アイコンが、監視ポイントが設定されているときは
アイコンがマーカー バーに表示されます。ブレークポイントまたは監視ポイントがプログラムにバインドされると、これらのアイコンにチェック マークが追加されます。プログラム ブレークポイントは、
アイコンで示されます。
Main.cbl:
Procedure division. Copy "Code.cpy". … Copy "Code.cpy".
Code.cpy:
Add 1 to count // set breakpoint here
デバッグの開始前にブレークポイントが設定されている場合や、コピーブックを使用するプログラムがアクティブになっていない場合は、ブレークポイントが保留されます。つまり、そのブレークポイントは実際のコード位置に解決されていません。デバッグが開始されるか、新しいプログラムが呼び出されると、デバッガーは保留中のすべてのブレークポイントを解決して実際のコード位置にバインドしようとします。
上記の例では、メインの実行可能ファイルがデバッガーによってロードされると、デバッガーは単一の (保留中の) ブレークポイントを 2 つの実際の (バインドされた) ブレークポイントにバインドします。それらのブレークポイントは、プラス記号付きのブレークポイント
アイコン でエディターの余白および [Breakpoints] ビューの両方に表示されます。