ここでは、Visual Studio IDE での COBOL アプリケーションのデバッグに関するヒントやテクニックを示します。
- ウォッチの追加
- エディターで変数を右クリックし、[Add Watch] を選択します。
- 実行プロセスへのアタッチ
- 「To attach to a running process and debug」を参照してください。
- 64 ビット実行プロセスへのアタッチ
- 「To attach to a 64-bit running process and debug」を参照してください。
- [Autos] ウィンドウ
- 現在の文および前の文で使用されている変数が表示され、値を変更したり、ウォッチを追加したりすることができます。このウィンドウを表示するには、[Debug > Windows > Autos] をクリックします。
コード内の COPY… REPLACING 文によって変更されるコピーブックの変数について、[Autos] ウィンドウにはソース コードで定義されているすべての値が表示されます。コピーブックで COPY… REPLACING を実行する COBOL プログラムがプロジェクトに複数ある場合、[Autos] ウィンドウでは、最初の COBOL プログラムで検出された値の置き換えのみが使用されます。
- ブレークポイント設定
- コード行の横にあるエディターの左マージンをダブルクリックするか、行の上にカーソルを移動して F9 を押します。また、エディターのコンテキスト メニューから [Debug > Toggle Breakpoint] または [Breakpoint > Insert Breakpoint] を選択することもできます。
- 注:トレースポイントは、マネージ コードをデバッグする場合にのみサポートされます。
- [Breakpoints] ウィンドウ
- コードで設定されているすべてのブレークポイントおよびトレースポイントのリストが表示されます。ウィンドウ内のブレークポイントをダブルクリックして、ブレークポイントが追加されている行の上にカーソルを移動します。
- データ変更のブレークポイント
- COBOL 監視ポイントとともに使用します。監視ポイントが設定されているデータ項目の値が変更されると、デバッガーにより、プログラムの実行が中断され、そのデータ変更の後の行が強調表示されます。IDE で、[COBOL Watchpoints] ウィンドウが開き、変更されたデータ項目が強調表示されます。ネイティブ コードでのみ使用できます。
- COBOL ソース情報
- COBOL ソース情報 (CSI) により、プログラムに対して作業を行っている際に、そのプログラムに関する情報を素早く簡単に得ることができます。CSI クエリ コントロールにクエリを入力すると、CSI が [Micro Focus Code Analysis] ウィンドウでクエリの結果を返します。
- COBOL 監視ポイント設定
-
注:COBOL 監視ポイントは、ネイティブ COBOL でのみサポートされます。
エディターから監視ポイントを追加するには、データ項目を右クリックし [Add COBOL Watchpoint] を選択します。また、[Watchpoints (Native COBOL)] ウィンドウから監視ポイントを追加することもできます。監視ポイントを無効化または削除するには、[Debug > COBOL Watchpoints > Disable/Delete All Watchpoints] を選択します。
- データチップおよび [Pin To Source]
- ソース コード内の変数に関する情報が提供されます。変数のデータチップを表示するには、目的の変数の上にカーソルを置きます。これは、実行停止時にブレーク モードでのみ、また実行時に使用される変数についてのみ機能します。
変数のデータチップを開いたままにする必要がある場合は、コード内で目的の変数を右クリックし、[Pin To Source] を選択します。
- 添え字 OCCURS 項目のデバッグ ツールチップ
- 配列の要素を表示するか、現在の式の値を表示するように、添え字 OCCURS 項目のデバッグ ツールチップを構成できます。これを行うには、エディター内を右クリックし、[COBOL Debug Tooltip Style] をクリックして、[ Show COBOL OCCURS or reference modification value] を有効または無効にします。エディターでツールチップのスタイルを変更するには、デフォルトのキー順である ALT+T、T を使用します。
- 単一 COBOL ファイルのデバッグ
- これはネイティブ COBOL のみに適用されます。Visual COBOL で作業するときにはすべてのソース ファイルを 1 つのプロジェクトに含めることを推奨しています。こうすることで、IDE の編集やコンパイル、デバッグなどの機能が完全にサポートされるためです。プロジェクトの一部でない単一ファイルについては IDE サポートが限定されるため、Visual COBOL でこれらのファイル用のプロジェクトを作成し、これらのファイルでエディターやビルド、デバッグの機能をすべて使用できるようにします。単一ファイルからプロジェクトを作成するには、エディター内を右クリックし、[Create COBOL Project] をクリックします。
次のように、IDE でプロジェクトなしで単一 COBOL ファイルをデバッグできます。
- 前回のコンパイル以降にファイルを編集した場合には、ファイルを再コンパイルします。
この操作を行う必要があるのは、デバッグの開始時に IDE ではファイルは再コンパイルされないためです。再コンパイルすることで、デバッグの開始時に IDE で最新の変更内容が使用されるようになります。
- 必要に応じてブレークポイントを挿入します。
- エディターでファイルを右クリックし、[Debug] をクリックして、デバッグ セッションを開始します。
- 通常の方法でコードを 1 ステップずつ実行します。
- デバッグが完了した後、[Debug > Stop debugging] をクリックします。
問題を修正するためにコードを変更する必要がある場合は、デバッグを再度開始する前に再コンパイルする必要があります。
- Find All References (すべての参照の検索)
- エディターで、コード内の COBOL データ項目、節、または段落名を右クリックして [Find All References] を選択すると、その項目への参照を含むソリューション内のすべての場所のリストが [Find Symbol Results] ウィンドウに表示されます。リストの項目をダブルクリックすると、その要素が含まれているコード行にカーソルが移動します。
- [Find Symbol Results] ウィンドウ
- このウィンドウを表示するには、[View > Find Results > Find Symbols Results] をクリックします。エディターの [Find All References] コマンドの結果が表示されます。リストの項目をダブルクリックすると、その項目が含まれている行にカーソルが移動します。
- Go To Location (場所へ移動)
- COBOL ツールバー (表示されていない場合は、[Tools > Customize > Toolbars] をクリックし、[COBOL] をクリックする) のテキスト フィールドを使用すると、変数や式の定義を見つけることができます。フィールドに変数名または式を入力し、[Edit > Go To Location] をクリックするか、COBOL ツールバーの
([Enter a COBOL Term and Go To Definition]) をクリックします。エディター内で変数をポイントして F12 キーを押しても、同じ操作を実行できます。 コード内で前の場所に戻るには、
([Navigate Backwards]) をクリックします。
- ジャストインタイム デバッグ
-
アプリケーションでエラーが発生した場合にジャストインタイム デバッグを使用できるようにします。ネイティブ COBOL コードに対してジャストインタイム デバッグを有効にするには、[Tools > Options > Debugging > Just-In-Time Debugging] をクリックします。[Micro Focus Native Debugger] をオンにします。ネイティブ コードでのみ使用できます。
- [Memory] ウィンドウ
- 指定したアドレスのメモリの内容を確認できます。ポインター参照、データ項目のアドレス、または整数値を指定できます。このウィンドウを表示するには、[Debug > Windows > Memory > Memory n] をクリックします。ネイティブ COBOL でのみ使用できます。
- プログラム ブレークポイント
-
注:プログラム ブレークポイントは、ネイティブ COBOL でのみサポートされ、ネストされたプログラムではサポートされません。
プログラムまたはそのエントリ ポイントのいずれかが呼び出された場合にプログラムを中断できます。
- エディターでコードを右クリックし、[Add COBOL Program Breakpoint] をクリックします。
- Quick Browse
- [Quick Browse] ダイアログ ボックス (COBOL ツール バーの
をクリックすると開きます) は、COBOL ソース情報 (CSI) 機能の一部で、CSI クエリを実行して出力ウィンドウの [COBOL Source Information] タブにクエリの結果を表示できます。
- リモート デバッグ
- TCP/IP を使用してマシンが接続されている場合にリモート システム上で実行されているプロセスをデバッグできます。「リモート デバッグ」を参照してください。
- ローカル システムおよびリモート システムが TCP/IP を使用してネットワーク接続されていることを確認します。リモート マシンに接続し、プログラムをデバッグするには、[Project > プロジェクトProperties] を選択し、[Debug] タブに移動します。[Enable remote machine] をオンにし、リモート マシンの名前または IP アドレスおよび TCP ポート番号を入力します。
- Run To Cursor (カーソル位置まで実行)
- エディターでコード行を右クリックし、[Run To Cursor] を選択します。これにより、デバッグ セッションが開始され、カーソルを置いた行までコードが実行されます。
- Start Debugging (デバッグの開始)
- [Debug > Start Debugging] を選択するか、F5 または F11 を押します。F5 を押すと、デバッグが開始され、ブレークポイントまで、またはエラーが発生するまで、アプリケーションが実行されます。F11 を押すと、デバッグが開始され、デバッグできる最初の文で中断されます。
- Stop Debugging (デバッグの停止)
- [Debug > Stop Debugging] を選択します。また、[Debug] ツール バーの
をクリックすることもできます。
- [Threads] ウィンドウ
- プロセスで実行されているすべてのスレッドが表示されます。このウィンドウを表示するには、[Debug > Windows > Threads] を選択します。
- トレースポイント設定
- トレースポイントは、条件付きのブレークポイントです。デバッガーは、トレースポイントに到達すると、実行を停止する代わりに、または実行を停止する前にアクションを実行します。トレースポイントを設定するには、トレースポイントを指定する必要があるコード行をクリックして [Debug > Toggle Tracepoint] を選択するか、コンテキスト メニューから [Breakpoint > Insert Tracepoint] を選択し、実行するアクションを指定します。トレースポイントは、マネージ コードをデバッグする場合にのみサポートされます。
- [Variable] ウィンドウ
- [Autos]、[Locals]、[Quick Watch]、[Watch] などのウィンドウがあり、値や式を監視および編集できます。
- ウォッチ ウィンドウ
- 変数や式の値を監視できます。このウィンドウを開くには、デバッグ中に [Debug > Windows > Watch > Watch n] をクリックします。値の表示形式を 10 進から 16 進に変更するには、ウィンドウ内を右クリックし、[Hexadecimal Display] をクリックします。
ウォッチ ウィンドウで個別行の値の表示形式を変更するには、行をクリックし F2 を押して、変数,h または変数,x と入力すると、常に値を 16 進数形式で表示します。変数,d と入力すると、常に数値変数を 10 進形式で表示し、文字列の値をテキストとして表示します。
- [Watchpoints (Native COBOL)] ウィンドウ
- データ項目を監視ポイントとして追加し、10 進表示または 16 進表示でその値を監視できます。このウィンドウを開くには、[Debug > Windows > COBOL Watchpoints] をクリックします。