方法 : データ ブレークポイントを設定する (ネイティブのみ)
このトピックの内容は、次の製品に該当します。
エディション |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
ネイティブのみ |
||||
Pro、Premium、Ultimate |
ネイティブのみ |
データ ブレークポイントを使用すると、指定したメモリ位置に格納された値に書き込みが行われたときに、実行が中断されます。 値が読み取られただけで書き込みが行われていなければ、実行は中断されません。
データ ブレークポイントは、デバッグの対象になっていないプロセスがメモリ位置に対する書き込みを行った場合や、メモリ位置が複数のプロセスで共有されている場合には機能しません。
メモリ位置がカーネルの中で更新された場合も、データ ブレークポイントは機能しません。 たとえば、32 ビット Windows の ReadFile 関数にメモリが渡された場合、メモリはカーネル モードから更新されるので、メモリの書き込み時にもデバッガーは中断しません。
データ ブレークポイントを設定できるのは、デバッガーが中断モードになっている場合に限られます。
変数のアドレスは、あるデバッグ セッションと次のデバッグ セッションでは変わります。 そのため、データ ブレークポイントは、デバッグ セッションが終了すると自動的に無効になります。
ローカル変数でデータ ブレークポイントを設定した場合は、関数が終了したときにもデータ ブレークポイントは有効のままになります。 ただし、ブレークポイントが設定されているメモリ アドレスの意味は同じではありません。 したがって、そのようなブレークポイントの結果は予測できません。 データ ブレークポイントをローカル変数に設定した場合は、関数が終了する前にブレークポイントを削除するか無効にするのが望ましいといえます。
Visual Studio では、1 つのソリューションあたり最大で 4 つのブレークポイントがサポートされています。
注意
使用している設定またはエディションによっては、ヘルプの記載と異なるダイアログ ボックスやメニュー コマンドが表示される場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「設定の操作」を参照してください。
メモリ変更のブレークポイントを設定するには
[デバッグ] メニューの [ブレークポイントの作成] をポイントし、[新しいデータ ブレークポイント] をクリックします。
または
[ブレークポイント] ウィンドウ メニューの [新規作成] をクリックし、[新しいデータ ブレークポイント] をクリックします。
[ブレークポイントの作成] ダイアログ ボックスが表示されます。
[アドレス] ボックスに、メモリ アドレス、またはメモリ アドレスを表す式を入力します。
たとえば、「&avar」と入力すると、変数 avar の値が変更されたときに中断します。
[バイト数] ボックスに、デバッガーがウォッチするバイト数を入力します。
たとえば、「4」と入力すると、&myFunction で始まる 4 バイトがウォッチされ、そのバイト値のいずれかが変更されると中断します。
[OK] をクリックします。