[Create Breakpoint (ブレークポイントの作成)] ダイアログボックス: [Code (コード)] タブ

特定のソースコードの場所でプログラムの実行を停止するブレークポイントを設定します。

デバッガーは、ブレークポイントを記憶し、指定した場所に到達するたびにプログラムの実行を停止します。

メニュー

[Debug (デバッグ)] > [Create Breakpoint... (ブレークポイントの作成...)]

ツールバー

利用できません。

[Type (種類)]

ブレークポイントの種類として、[Breakpoint (ブレークポイント)] または [Thread Syncpoint (スレッド同期ポイント)] を選択します。

スレッドセットを同期するには、スレッド同期ポイントを使用します。

[Location (場所)]

このフィールドは、ブレークポイントとスレッド同期ポイントでは必須です。

[Location (場所)] フィールドに式を入力するか、[Browse (参照)] をクリックして既知のシンボルのリストを参照します。 詳細は、「[Symbol Selector (シンボルセレクター)] ダイアログボックス: [Simple Search (標準検索)] タブ」を参照してください。

アプリケーションが式に到達すると、実行は直ちに停止します。次の式を [Location (場所)] フィールドに入力することができます。

linenumber または "filename":linenumber

現在のソースファイルまたは filename の行番号。

次に例を示します。

74

または

"source/foo.cpp":74

function または "filename"::function

または

"filename"::scope::function

または

scope::function

または

partial_scope::function

現在のソースファイルまたは filename の関数。 [Browse (参照)] ボタンをクリックして、シンボルを参照します。 詳細は、「[Symbol Selector (シンボルセレクター)] ダイアログボックス: [Simple Search (標準検索)] タブ」を参照してください。

次に例を示します。

main

または

"src/foo.cpp":main

または

"src/foo.cpp":mynamespace::session::main

または

mynamespace::session::main

または

session::main

*address

アドレス。

次に例を示します。

*0x0000810C

[Condition (条件)]

条件を定義すると、指定された位置で実行が停止したときにデバッガーはこの条件を評価します。結果が FALSE (ゼロ) の場合、アプリケーションは実行を続けます。この場合、オプションのスキップカウントは変更されません。条件は、現在の言語の Boolean 式です。例: choice==2

[Action (アクション)]

プログラムの実行がブレークポイントで停止したときにコマンドを実行する場合は、[Action (アクション)] フィールドにコマンドを入力します。

[Continue (続行)]

[Continue (続行)] をオンにすると、[Action (アクション)] リストが処理された後、アプリケーションの実行が続けられます。 オフの場合は停止します。

[Skip Count (スキップカウント)]

スキップカウントには正の整数を入力できます。スキップカウントは、ブレークポイントのヒットを無視する回数を定義します。例えば、スキップカウントが 2 のブレークポイントでは、3 回目に実行を停止します。デバッガーは、最初に条件を、次にスキップカウントを確認します。

[Thread Filter (スレッドフィルター)]

このフィールドの目的は選択したブレークポイントの種類によって異なります。このフィールドは、スレッド同期ポイントでは必須です。

ブレークポイントに 1 つまたは複数のスレッドやスレッドセットを指定すると、指定したいずれかのスレッドがブレークポイントをトリガーしたときにプログラムの実行は停止します。

スレッド同期ポイントに 1 つまたは複数のスレッドやスレッドセットを指定すると、ブレークポイントはスレッドバリアーを作成します。スレッドセットの任意のスレッドがこのバリアーに到達すると、そのスレッドは凍結され、スレッドセットのほかのスレッドがバリアーに到達するまで、デバッガーはステップ実行や継続の試みを無視します。プログラムを継続するまで、プログラムの実行はブレークポイントで停止したままです。

スレッドセットのすべてのスレッドがバリアーに到達する前に手動で実行を停止した場合、すべてのスレッドがスレッド同期ポイントに到達するまで、デバッガーはすべてのスレッドを保留します。

[Threads (スレッド)] ウィンドウに表示されているように、整数値でスレッド ID を指定します。 複数の場合は、カンマで区切ります。スレッドセットを指定するには、t:[start_id:end_id] 構文を使用します。 または、[Browse (参照)] をクリックして、1 つまたは複数のスレッドセットを選択します。

[Stopping Threads (停止スレッド)]

ブレークポイントにヒットしてアクションが実行されたときに凍結解除するスレッドを、[Stopping Threads (停止スレッド)] フィールドに入力します。

[OK] / [Cancel (キャンセル)]

[OK] をクリックしてブレークポイントを作成するか、[Cancel (キャンセル)] をクリックして操作をキャンセルします。

[Apply (適用)]

複数のブレークポイントを設定する場合は、[Set Breakpoint (ブレークポイントの設定)] ダイアログボックスを開いたまま [Apply (適用)] ボタンをクリックして、ブレークポイントを設定します。

ブレークポイントは行の先頭に設定されます。例えば、ソースコード行 100 のブレークポイントでは、行 99 が実行された後で、プログラムが停止します。

関連情報


このヘルプトピックについてのフィードバックを送信