ブレークポイントの概要

ブレークポイントは、デバッガーがプログラムの実行を故意に停止するプログラム中の場所です。例えば、これらのブレークポイントを使用して、プログラムの検証や調整を行ったり、大規模なデバッグ用プログラムの一部のみを実行できます。ブレークポイントはプログラムの実行を終了しません。停止した場所からプログラムの実行を継続できます。ブレークポイントはコードの一部ではないため、プログラムを停止するステートメントをコードに入力する方法と比べて、デバッガー・インターフェイスで完全に処理されるという利点があります。コードの停止ステートメントを編集するよりも便利で迅速に処理できます。

ブレークポイントは、ユーザーとデバッガー間のインターフェイスとして動作します。ブレークの場所と条件、およびデバッガーがブレーク後に実行するアクションを指定できます。ブレークポイントを設定する場合、これらのすべての情報を指定しますが、直ちにプログラムの実行制御には影響を与えません。この時点では、ブレークポイントを設定するようにデバッガーに要求が行われるだけです。デバッガーは、設定可能かどうかブレークポイント要求を評価します。ブレークポイントが設定可能な場合、デバッガーはブレークポイントをヒットしたときに実行制御に影響を与え、指定したアクションを実行する 1 つ以上のブレークポイントを作成します。

設定が明白な場合、デバッガーは設定からコードの 1 つの場所を特定して、ブレークポイントを 1 つだけ作成します。設定があいまいな場合 (例えば、多重定義された関数にブレークポイントを指定した場合) やプログラムの実行中に設定があいまいになる場合 (例えば、新しいライブラリーをロードする場合)、デバッガーは複数のブレークポイントを作成します。後者の場合、関連コードがデバッガーにロードされたときにランタイムにブレークポイントが作成されます。コードがアンロードされたときに、デバッガーはそのブレークポイントを削除します。デバッガーが設定したブレークポイントは削除および修正できますが、デバッガーはブレークポイント要求の設定とプログラムのコンテキストに応じてブレークポイントを削除または設定することに注意してください。その場合、行った変更は失われます。このため、ブレークポイントを永続的に変更するには、ブレークポイント設定を修正する必要があります。

デバッガーにブレークポイントの制御を任せることは、ブレークポイントを設定するときにプログラムのコンテキストを考慮したり、ユーザーがあいまいな設定を解決する必要がないという利点があります。必要なのは、ブレークポイントを要求することだけです。デバッガーは、要求されたブレークポイントを設定するか、設定を満たすように複数のブレークポイントを作成します。つまり、プログラムのコンテキスト外 (例えば、デバッガーにまだロードされていないコードの行) にブレークポイントを設定することもできます。

デバッグ情報がある任意のコード行、または定義したメモリーアクセスにブレークポイントを設定できます。スレッドセットを同期する同期ポイントを設定することもできます。

次のようにブレークポイントを定義できます。

指定したすべてのブレークポイントと関連情報は [Breakpoints (ブレークポイント)] ウィンドウに表示されます。

[Source (ソース)] ウィンドウ、[Assembler (アセンブラー)] ウィンドウ、[Callstack (コールスタック)] ウィンドウ、[Breakpoints (ブレークポイント)] ウィンドウ、または [Create Breakpoint... (ブレークポイントの作成...)] メニューを使用してブレークポイントを設定できます。

関連情報


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