デバッガーでのブレークポイントの使用

Developer Studio デバッガーは,特定の条件が特定の位置で一致した時や変数がその値を変更した時,特定の位置にブレークポイントを設定することができます。この節では,以下のトピックについて説明します。

位置ブレークポイントの表示と使用

現在設定されているブレークポイントを表示する方法

  1. 「Edi」メニューで「Breakpoints」をクリックします。

  2. ブレークポイントを表示するには,「Breakpoints」リストボックスを上下にスクロールします。利用可能なブレークポイントはチェックボックスにチェック印があり,利用不可なブレークポイントは空のチェックボックスです。「Breakpoints」ダイアログボックスは,位置ブレークポイントだけでなくすべてのブレークポイントを表示します。

別の方法として,小さなプログラムでは,テキスト・エディタ・ウィンドウに位置ブレークポイントを表示することができます。利用可能な位置ブレークポイントは,赤丸で左側に表示されています (詳細は,「Squares サンプル・プログラムのデバッグ」を参照)。利用不可な位置ブレークポイントは,中空の丸で左側に表示されています。ブレークポイントを削除することもできます。

位置ブレークポイントを設定する方法

  1. プロジェクト・ワークスペースを開いた後,位置ブレークポイントを設定したいソース・ファイルをテキスト・エディタに開きます (「FileView」ペインのファイル名をダブルクリックします)。

  2. テキスト・エディタ・ウィンドウ (または「Call Stack」または「Disassembly」ウィンドウ) で, 位置ブレークポイントを設定したい行をクリックします。

  3. 以下の 1 つを行います。

位置ブレークポイントを利用可能または利用不可にする方法

  1. テキスト・エディタ・ウィンドウ (または「Call Stack」または「Disassembly」ウィンドウ) で,利用不可にしたい位置ブレークポイントを含む行をクリックします。

  2. 以下の 1 つを行います。

位置ブレークポイントを削除する方法

  1. テキスト・エディタ・ウィンドウ (または「Call Stack」または「Disassembly」ウィンドウ) で,削除したい位置ブレークポイントを含んだ行をクリックします。

  2. 以下の 1 つを行います。

位置ブレークポイントが設定されているソース・コードを表示する方法

  1. 「Edit」メニューで「Breakpoints」を選択します。

  2. 「Breakpoints」リストボックスで位置ブレークポイントをクリックします。

  3. 「Edit Code」ボタンをクリックします。

    これにより,行番号または関数 (またはサブルーチン) 名に設定されたブレークポイントがあるソース・コードが表示されます。関数 (またはサブルーチン) 名の場合,デバッガーが起動されていなければなりません。

すべてのブレークポイントを削除する方法

  1. 「Edit」メニューで「Breakpoints」を選択します。

  2. 「Remove All」ボタンをクリックします。

  3. 「OK」をクリックします。

位置条件ブレークポイントの設定

位置ブレークポイントと同じように,位置条件ブレークポイントは特定の位置でのみ発生します。プログラムの実行がその位置に到達した時ブレークが常に発生する代わりに,位置条件ブレークポイントはプログラムの実行がその位置に到達し,かつ,指定した条件に一致した (たとえば,配列要素の値が 1 よりも大きくなった時) 時に発生します。以下の手続きは,現在の有効範囲内のソース・コードに適用されます。

位置ブレークポイントとは異なり,位置条件ブレークポイントは「Breakpoints」ダイアログボックスでのみ設定することができます。

位置条件ブレークポイントを設定する方法

  1. テキスト・エディタ・ウィンドウ (または「Call Stack」または「Disassembly」ウィンドウ) で,位置条件ブレークポイントを有効にしたい行をクリックします。

  2. 以下を行います。

    1. 「Edit」メニューで「Breakpoints」を選択します。

    2. 「Location」タブで「Break At」欄の右にある矢印ボタンをクリックします。

    3. 表示される行番号をクリックします。

    4. 「Condition」ボタンをクリックします。「Condition Breakpoint」ダイアログボックスが表示されます。

    5. 必要な条件を入力します。たとえば,「A(1) .gt. 0」と入力します。

    6. 「OK」をクリックして,「Condition Breakpoint」ダイアログボックスを閉じます。

    7. 「OK」をクリックします。

位置条件ブレークポイントを利用不可,利用可能,および削除するには,位置ブレークポイントの一般的な手続きに従います。特定の条件下では,デバッガーが位置条件ブレークポイントを利用不可にするかもしれません。この場合,それを利用可能にするか,削除した後再設定するかのどちらかを行います。

プログラムを実行し,指定した条件が選択した位置で発生した場合,以下のようなメッセージボックスが表示されます。

データ・ブレークポイントの使用 (現在の有効範囲)

データ・ブレークポイントは,変数の値が変更された時,または,指定した条件に一致した時,メッセージボックスを表示します。位置条件ブレークポイントとは異なり,データ・ブレークポイントは特定のソース位置に関連していません。以下の手続きが現在のルーチン (現在の有効範囲) のデバッグに適用されます。

データ・ブレークポイントを設定する方法

  1. 「Edit」メニューで「Breakpoints」を選択します。

  2. 「Data」タブをクリックします。

  3. 変数の値が変更された時にデータ・ブレークポイントが発生するようにしたい場合には,変数名のみを入力し,希望する条件に一致する時に発生するようにしたい場合には,希望する条件を入力します。たとえば,「A(1) .eq. 0」と入力します。

  4. 「OK」をクリックします。

データ・ブレークポイントを利用不可,利用可能,または削除するには,以下を行います。

  1. 「Edit」メニューで「Breakpoints」を選択します。

  2. データ・ブレークポイントを利用不可または利用可能にするには,データ・ブレークポイントの左のチェックボックスを使用します (チェック印が利用可能を示しています)。

  3. データ・ブレークポイントを削除するには,データ・ブレークポイントをクリックし,「Remove」ボタンをクリックします。

特定の条件下では,デバッガーがデータ・ブレークポイントを利用不可にするかもしれません。この場合,それを利用可能にするか,削除した後再設定するかのどちらかを行います。

詳細データ・ブレークポイントの設定

特定の変数が特定の論理式に設定された時,プログラムの実行を停止させたい場合があります (データ・ブレークポイントまたはウォッチポイント)。あるデータ値 (変数)の変更をデバッガーに正しく監視させるには,監視させるデータ値条件があるルーチン名 (有効範囲) を指定しなければなりません。変数に対するデータ値条件が指定した有効範囲内で発生した時,条件に一致したことを知らせるメッセージボックスが表示されます。

特定の局所変数にデータ・ブレークポイントを設定する方法

  1. 「Edit」メニューで「Breakpoints」を選択します。

  2. 「Data」タブをクリックします。

  3. 評価したい論理式を入力します。たとえば,「K .GT. 2」と入力します。

  4. 監視するデータ値が主プログラム・コード内にない場合,以下のようにしてデータ・ブレークポイントの有効範囲をしています。

    1. 式の右にある矢印ボタンをクリックして,「Advanced」ポップアップ・メニューを表示します。

    2. 「Advanced」をクリックします。「Advanced Breakpoint」ダイアログボックスが表示されます。監視するデータ式があるルーチン (関数) 名を指定します。「OK」をクリックします。

    3. 「OK」をクリックします。

  5. 「Build」メニューからデバッガーを開始します。監視するデータ式に関連するソース・ファイルの表示を考慮します。

  6. プログラムに初期ブレークポイントを以前に設定している場合,「Debug」メニューの「Go」をクリックします。実行は初期ブレークポイントで停止します。

  7. 「Debug」メニューの「Go」をクリックします。指定したデータ値式に一致するまで実行が継続されます。指定したデータ式に一致すると,以下のようなメッセージボックスが表示されます。

  8. プログラムのその部分をよりよく理解できるように,実行されたソース行が表示され,現在の変数値を検証し,次の命令を実行したりするなどの作業が行えます。エラーが I/O 文に関連する場合,「Call Stack の表示と Context メニューの使用」も参照してください。

現在の実装には幾つかの制限事項があります。