次の方法で共有


ブレークポイントを制御するメソッド

ブレークポイントは、オペレーティング システムが実行を停止してデバッガーに中断する実行可能コード内の場所です。 これにより、ターゲットを分析し、デバッガー コマンドを発行できます。

ブレークポイントの場所は、仮想アドレス、モジュールとルーチンのオフセット、またはソース ファイルと行番号 (ソース モードの場合) で指定できます。 オフセットなしでルーチンにブレークポイントを設定すると、そのルーチンが入力されたときにブレークポイントがアクティブになります。

ブレークポイントには、いくつかの追加の種類があります。

  • ブレークポイントは、特定のスレッドに関連付けることができます。

  • ブレークポイントは、トリガーされる前に、アドレスを通過する一定の数のパスを有効にすることができます。

  • ブレークポイントは、トリガーされたときに特定のコマンドを自動的に発行できます。

  • 実行可能でないメモリにブレークポイントを設定し、その場所の読み取りまたは書き込みを監視できます。

ユーザー モードで複数のプロセスをデバッグする場合、ブレークポイントのコレクションは現在のプロセスによって異なります。 プロセスのブレークポイントを表示または変更するには、現在のプロセスとしてプロセスを選択する必要があります。 現在のプロセスの詳細については、「プロセス とスレッドの制御」を参照してください。

ブレークポイントを制御および表示するためのデバッガー コマンド

ブレークポイントを制御または表示するには、次のメソッドを使用できます。

WinDbg には、ブレークポイントの制御と表示を容易にするユーザー インターフェイス要素がいくつかあります。 WinDbg (クラシック) でのブレークポイントの設定を参照してください。

各ブレークポイントには、ブレークポイント ID と呼ばれる 10 進数が関連付けられています。 この数値は、さまざまなコマンドのブレークポイントを識別します。

ブレークポイント コマンド

ブレークポイントにヒットしたときに自動的に実行されるコマンドをブレークポイントに含めることができます。 たとえば、次のコマンドは MyFunction+ 0x47 で中断し、ダンプ ファイルを書き込んでから実行を再開します。

0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g" 

手記 カーネル デバッガーからユーザー モード デバッガーを制御する場合は、ブレークポイント のコマンド文字列で g (Go) を使用しないでください。 シリアル インターフェイスは、このコマンドに追いつくことができない可能性があり、CDB に戻すことができなくなります。 この状況の詳細については、「 カーネル デバッガーからの User-Mode デバッガーの制御」を参照してください。

ブレークポイントの数

カーネル モードでは、最大 32 個のソフトウェア ブレークポイントを使用できます。 ユーザー モードでは、任意の数のソフトウェア ブレークポイントを使用できます。

サポートされているプロセッサ ブレークポイントの数は、ターゲット プロセッサ アーキテクチャによって異なります。

条件付きブレークポイント

特定の条件下でのみトリガーされるブレークポイントを設定できます。 これらの種類のブレークポイントの詳細については、「 条件付きブレークポイントの設定」を参照してください。

あいまいなブレークポイント

バージョン 10.0.25310.1001 以降のデバッガー エンジンでは、あいまいなブレークポイントの解決がサポートされるようになりました。 あいまいなブレークポイントにより、ブレークポイント式が複数の場所に解決される特定のシナリオで、デバッガーがブレークポイントを設定できます。 詳細については、「あいまいなブレークポイントの解決」を参照してください。

こちらも参照ください

ブレークポイントの使用

ブレークポイント構文

bp、bu、bm (ブレークポイントの設定)

未解決のブレークポイント (bu ブレークポイント)