ブレークポイントを設定し変更する

提供: Appmethod Topics
移動先: 案内検索

アプリケーションのデバッグ:インデックス への移動

ブレークポイントは、特定の場所で、または特定の条件が発生した場合に、プログラムの実行を一時停止します。 デバッグ セッションを行う前や処理中に、コード エディタでソース ブレークポイントとモジュール ロード ブレークポイントを設定できます。 アプリケーションをデバッグ モード(F9)で実行している場合のみ、データ ブレークポイントとアドレス ブレークポイントを設定できます。

ブレークポイントのアイコン

デバッグ セッション中、ブレークポイントを設定できるコード行には、コード エディタの左マージンに青いドット がマークされます。

[呼び出し履歴]ウィンドウに表示されているフレームにブレークポイントを設定することもできます。 [呼び出し履歴]ウィンドウのブレークポイント アイコンはコード エディタの表示に似ていますが、[呼び出し履歴]の青いドット青いドットは、ブレークポイントをそのフレームに設定できるかどうかを示すのではなく、そのフレームでデバッグ情報が利用できることを示すだけです。

ブレークポイントは、[ブレークポイント一覧]ウィンドウに表示されます。このウィンドウは、[表示|デバッグ|ブレークポイント]をクリックすると表示されます。

コード エディタでブレークポイント アイコンをドラッグ アンド ドロップできます。移動先のブレークポイントでは、元のブレークポイントの設定が保持されます。 以下のアイコンによって、コード エディタのマージンにブレークポイントが表示されます。

アイコン 説明

コード エディタ内のブレークポイント

ブレークポイントが適切で、有効になっている。 デバッガがアクティブではない。

デバッガ内のブレークポイント

ブレークポイントが適切で、有効になっている。 デバッガがアクティブ。

無効なブレークポイント

ブレークポイントが無効だが、有効になっている。 ブレークポイントが無効な場所(コメント、空白行、無効な宣言など)に設定されている。

無効化されたブレークポイント

ブレークポイントは適切だが、無効になっている。 デバッガがアクティブではない。

デバッガ内の無効化されたブレークポイント

ブレークポイントは適切だが、無効になっている。 デバッガがアクティブ。

デバッガ内の不正なブレークポイント

ブレークポイントが無効で、無効になっている。 ブレークポイントが無効な場所に設定されている。

ソース ブレークポイントを設定するには:

  1. ダイアログ ボックスに行番号を表示させるには、コード エディタで、実行を一時停止させるポイントのソース行をクリックします。
  2. [実行|ブレークポイントの追加|ソース ブレークポイント]を選択して、[ソース ブレークポイントの追加]ダイアログ ボックスを表示します。

    ヒント: コード エディタのマージンを変更するには、[ツール|オプション|エディタ設定|表示]を選択して、[マージンの幅]オプションを調整します。

  3. [ソース ブレークポイントの追加]ダイアログ ボックスの[ファイル名]にはファイルの名前が設定され、[パス カウント]には 0(最初の通過時にブレークポイントが発生する)が設定されます。 [行番号]フィールドに、ブレークポイントを設定するコード エディタの行を入力します。
  4. アドレス ブレークポイントに条件を適用するには、[条件]フィールドに条件式を入力します。 ブレークポイントに達するたびにその条件式が評価され、式の評価が真の場合、プログラムの実行が停止されます。
  5. ソース ブレークポイントをブレークポイント グループに関連付けるには、グループの名前を入力するか、[グループ]ドロップダウン リストからグループを選択します。
  6. [拡張]オプションの設定については、「[アドレス ブレークポイントの追加]または[データ ブレークポイントの追加]」にて、[アドレス ブレークポイントの追加]または[データ ブレークポイントの追加]ダイアログ ボックスについて参照してください。

    メモ: ソース コード行にブレークポイントを簡単に設定するには、コード エディタで、実行を一時停止させるコード行の横の左マージンをクリックします。

アドレス ブレークポイントを設定するには:

  1. アプリケーションをデバッグ モードで実行します(たとえば、F9、F8、F7、または F4 などを使用)。
  2. [実行|ブレークポイントの追加|アドレス ブレークポイント]を選択して、[アドレス ブレークポイントの追加]ダイアログ ボックスを表示します。
  3. [アドレス]フィールドに、ブレークポイントを設定するメモリ内のアドレス($00011111 など)を入力します。
  4. アドレス ブレークポイントに条件を適用するには、[条件]フィールドに条件式を入力します。 条件式はブレークポイントに達するたびに評価され、式の評価が真の場合、プログラムの実行が一時停止します。
  5. 何回かパスした後にアドレス ブレークポイントが発生するように指定するには、[パス カウント]フィールドに回数を入力します。
  6. アドレス ブレークポイントを既存のブレークポイント グループに関連付けるには、[グループ]フィールドにグループ名を入力するか、ドロップダウン リストから既存のグループの名前を選択します。
  7. [拡張]オプションの設定については、「[アドレス ブレークポイントの追加]または[データ ブレークポイントの追加]」にて、[アドレス ブレークポイントの追加]または[データ ブレークポイントの追加]ダイアログ ボックスについて参照してください。

メモ: [CPU ビュー]または[逆アセンブル ビュー]でマージンをクリックすることでも、アドレス ブレークポイントを設定できます。

データ ブレークポイントを設定するには:

  1. アプリケーションをデバッグ モードで実行します(たとえば、F9、F8、F7、または F4 などを使用)。
  2. [実行|ブレークポイントの追加|データ ブレークポイント]を選択して、[データ ブレークポイントの追加]ダイアログ ボックスを表示します。
  3. [アドレス]フィールドに、データ ブレークポイントとして機能させるデータのアドレスを入力します。
  4. [長さ]フィールドに、ブレークポイントを構成するデータ オペランドの長さを指定します。 次の問題に関して警告が表示されることに注意してください。
    • データ ブレークポイントの長さは、偶数バイト境界を越えるべきではありません。 (1 バイト長のデータ ブレークポイントにはアラインメントの問題はありませんが、2 バイト長や 4 バイト長のデータ ブレークポイントは、意図したアドレスよりも大きい(または小さい)アドレスを扱ってしまう可能性があります。)
    • データ ブレークポイントはスタック ロケーション上に設定すべきではありません。 (そのブレークポイントで頻繁に停止して、プログラムが正常に実行できない可能性があります。)
  5. ブレークポイントに条件を適用するには、[ブレーク条件]フィールドに条件式を入力します。 ブレークポイントに達するたびにその条件式が評価され、式の評価が真の場合、プログラムの実行が停止されます。
  6. 何回か通過した後にそのブレークポイントが発生するように指定するには、[パスカウント]フィールドに回数を入力します。
  7. データ ブレークポイントを既存のブレークポイント グループに関連付けるには、[グループ]フィールドにグループ名を入力するか、ドロップダウン リストから既存のグループ名を選択します。
  8. [拡張]オプションについては、「[アドレス ブレークポイントの追加]または[データ ブレークポイントの追加]」を参照してください。

モジュール ロード ブレークポイントを設定するには:

  1. [実行|ブレークポイントの追加|モジュール ロード ブレークポイント]を選択して、[モジュール ロード ブレークポイントの追加]ダイアログ ボックスを表示します。
  2. 以下のいずれかを行います。
    • [モジュール名]フィールドに、監視対象となる DLL、パッケージ、または他の種類のモジュールの名前を入力するか、ドロップダウン リストから名前を選択し、[OK]をクリックします。
    • [参照...]をクリックして[モジュールの選択]ダイアログ ボックスを開き、別のターゲット プラットフォームのモジュールを探します。 [ファイルの種類]フィールドの横の[モジュール]ドロップダウンをクリックし、表示したいモジュールの種類を以下から選択します。
      • [モジュール (*.dll; *.bpl; *.ocx; *.exe; *.dylib)] {Windows と Mac の両方のモジュール}
      • [Windows モジュール (*.dll; *.ocx; *.bpl; *.exe)] {Windows モジュールのみ}
      • [Mac OS X モジュール (*.dylib)] {Mac モジュールのみ}
      • [すべてのファイル (*.*)]
    [開く]をクリックして必要なモジュールを開きます。 モジュール名が、[モジュール読み込みブレークポイントの追加/編集]ダイアログ ボックス内に自動的に挿入されます。

メモ: [モジュール]ウィンドウを使ってモジュール ロード ブレークポイントを設定することもできます。

指定したモジュールがプログラムの実行中にロードされると、モジュール ロード ブレークポイントが発生し、プログラムの実行が一時停止します。

セッションを越えてブレークポイントを維持するには:

[自動保存の設定]セクションの[プロジェクト デスクトップ]オプションをオンにすると、プロジェクトで設定したブレークポイントを、セッションを越えて維持できます。

  1. セッションを越えて維持したいブレークポイント(および監視式)を設定します。
  2. [ツール|オプション...|環境オプションを選択します。
  3. [自動保存の設定]セクションの[プロジェクト デスクトップ]をオンにします。 本製品を終了させたりプロジェクトを閉じるときに、デスクトップ設定が .dsk ファイルに保存されます。 プロジェクトを再開すると、本製品がこの .dsk ファイルを読み取り、保存してあったデスクトップ、ブレークポイント、監視式を復元して、各ファイルを開きます。

プロジェクトで維持するために保存していたブレークポイントのセット(または、[自動保存の設定]セクションの[プロジェクト デスクトップ]オプションで制御していたその他の項目)が不要になった場合は、.dsk ファイルを削除する必要があります。

ブレークポイントを変更するには:

  1. [ブレークポイント一覧]ウィンドウを、[表示|デバッグ ウィンドウ|ブレークポイント] を選択して開きます。 変更するブレークポイントのアイコンを右クリックします。 ソース ブレークポイントの場合、コード エディタ のマージンでブレークポイント アイコンを右クリックして、ブレークポイントの設定 を選択できます。
  2. [ブレークポイントの設定]ダイアログ ボックスのオプションを設定して、ブレークポイントを変更します。 たとえば、条件を設定したり、ブレークポイント グループを作成したり、処理がブレークポイントに達したときに発生させるアクションを指定したりできます。
  3. このダイアログ ボックスのオプションの詳細は、[ヘルプ]をクリックします。
  4. [OK] をクリックします。

ブレークポイント グループを作成するには:

  1. ブレークポイント一覧を、[表示|デバッグ ウィンドウ|ブレークポイント] を選択して開きます。
  2. ブレークポイントを右クリックして、[ブレークポイントのプロパティ]を選択します。
  3. ブレークポイント グループを作成するために、[グループ]フィールドにグループ名を入力します。 既存のグループにブレークポイントを追加するには、ドロップダウン リスト ボックスから名前を選択します。
  4. [OK] をクリックします。

ブレークポイントまたはブレークポイント グループを有効または無効にするには:

  1. コード エディタまたは[ブレークポイント一覧]ウィンドウでブレークポイント アイコンを右クリックし、[有効]を選択して有効/無効を切り替えます。 [ブレークポイント リスト]では、アイコンの左のチェック ボックスをクリックできます。
  2. すべてのブレークポイントを有効または無効にするには、ブレークポイント リスト ウィンドウで空白の領域(ブレークポイント上ではない)を右クリックし、すべて有効化 または すべて無効化 を選択します。
  3. ブレークポイント グループを有効または無効にするには、ブレークポイント リスト ウィンドウで空白の領域(ブレークポイント上ではない)を右クリックし、グループの有効化 または グループの無効化 を選択します。

ヒント: 以下のいずれかのショートカットを使ってブレークポイントを有効または無効にすることができます。

  • Ctrl を押しながら、コード エディタのマージンにある、ブレークポイント シンボルをクリックします。
    Ctrl を押しながらクリックして有効と無効を切り替えると、Breakpoint.bmp などの有効なブレークポイント アイコンが BreakpointDisable.bmp などの無効なブレークポイント アイコンに変化します。
  • F5 を押します。
    有効なブレークポイント上で F5 キーを押すとブレークポイント アイコンは消えますが、もう一度 F5 を押すと、ブレークポイント アイコンが再び表示されて有効になります。

ブレークポイントまたはブレークポイント グループを無効にすると実行時に一時停止しなくなりますが、ブレークポイント設定は保持されるので、後で有効に切り替えられます。

条件ブレークポイントを作成するには:

  1. [実行|ブレークポイントの追加]を選択し、サブメニューからブレークポイントのタイプを選択します。
  2. 前に説明したそのブレークポイント タイプの手順に従って、ダイアログ ボックスのフィールドに入力します。
  3. [条件]フィールドに、プログラムの実行中にこのブレークポイントに達するたびに評価される条件式を入力します。 式の評価が真の場合、ブレークポイントで実行が一時停止します。
  4. 他のフィールドを適切に入力します。
  5. [OK] をクリックします。

変数の値がある範囲内の値になった場合のプログラムの動作や、特定のフラグが設定された場合の処理を確認する場合に、条件ブレークポイントは役立ちます。

条件式の評価が真(またはゼロ以外)の場合、デバッガはブレークポイントの場所でプログラムを一時停止します。 条件式の評価が偽(またはゼロ)の場合、デバッガはブレークポイントの場所で停止しません。

特定のスレッドにブレークポイントを設定するには:

  1. [実行|ブレークポイントの追加]を選択し、サブメニューからブレークポイントのタイプを選択します。
  2. 前に説明したそのブレークポイント タイプの手順に従って、ダイアログ ボックスのフィールドに入力します。
  3. [スレッド]フィールドに、スレッド番号(名前がないスレッドの場合)やスレッド名(名前付きスレッドの場合)を入力または選択します。
  4. 他のフィールドを適切に入力します。
  5. [OK] をクリックします。

ブレークポイントにアクションを関連付けるには:

  1. [ブレークポイント一覧]ウィンドウでブレークポイントを右クリックし、[ブレークポイントのプロパティ]を選択します。
  2. [拡張]をクリックして、追加のオプションを表示します。
  3. ブレークポイントに達したときに発生させるアクションをチェックします。たとえば、評価される式を指定して、[イベント ログ]に評価の結果を書き込ませることができます。
  4. [OK] をクリックします。

実行ポイントのテキストの色やブレークポイントの色を変更するには:

  1. [ツール|オプション|エディタ設定|色] を選択します。
  2. [コード サンプル]ウィンドウで適切な言語タブを選択します。 たとえば、Object Pascal コードのブレークポイントの色を変更するには[Object Pascal]タブを選択します。
  3. [コード サンプル]ウィンドウをスクロールして、ウィンドウの左マージンに実行ポイント アイコンとブレークポイント アイコンを表示します。
  4. 変更する実行ポイント行またはブレークポイント行の上でクリックします。
  5. [前景色][背景色]ドロップダウン リストを使って、選択した実行ポイントまたはブレークポイントに関連付けられた色を変更します。
  6. [OK] をクリックします。

メモ: [ブレークポイント一覧][CPU]ウィンドウ(および[逆アセンブル]ビュー)、[呼び出し履歴]ビュー、および [モジュール]ウィンドウでもブレークポイントを設定できます。

関連項目