Visual Studio デバッガーでのブレークポイントの使用Use breakpoints in the Visual Studio debugger

ブレークポイントは、開発者のツールボックスで最も重要なデバッグ手法の1つです。Breakpoints are one of the most important debugging techniques in your developer's toolbox. デバッガーの実行を一時停止する任意の場所にブレークポイントを設定します。You set breakpoints wherever you want to pause debugger execution. たとえば、コード変数の状態を確認したり、特定のブレークポイントの呼び出し履歴を確認したりすることができます。For example, you may want to see the state of code variables or look at the call stack at a certain breakpoint. ブレークポイントの使用中に警告または問題を解決しようとしている場合は、「 Visual Studio デバッガーでのブレークポイントのトラブルシューティング」を参照してください。If you are trying to resolve a warning or issue while using breakpoints, see Troubleshoot breakpoints in the Visual Studio debugger.

Note

解決しようとしているタスクまたは問題がわかっていても、使用するブレークポイントの種類を把握しておく必要がある場合は、「デバッグタスクの検索」を参照してください。If you know the task or problem you're trying to solve, but you need to know what kind of breakpoint to use, see Find your debugging task.

ソースコードにブレークポイントを設定するSet breakpoints in source code

ブレークポイントは、実行可能ファイルの任意のコード行に設定できます。You can set a breakpoint on any line of executable code. たとえば、次C#のコードでは、変数宣言、forループ、またはforループ内の任意のコードにブレークポイントを設定できます。For example, in the following C# code, you could set a breakpoint on the variable declaration, the for loop, or any code inside the for loop. 名前空間またはクラス宣言、またはメソッドシグネチャにブレークポイントを設定することはできません。You can't set a breakpoint on the namespace or class declarations, or on the method signature.

ソースコードにブレークポイントを設定するには、コード行の横にある左端の余白をクリックします。To set a breakpoint in source code, click in the far left margin next to a line of code. また、行を選択してF9キーを押すか、 [デバッグ] > [ブレークポイント] の設定/解除 を選択するか、右クリックして [ブレークポイント] を選択し > ブレークポイントを挿入します。You can also select the line and press F9, select Debug > Toggle Breakpoint, or right-click and select Breakpoint > Insert breakpoint. ブレークポイントは、左余白に赤い点として表示されます。The breakpoint appears as a red dot in the left margin.

を含むC#ほとんどの言語では、ブレークポイントと現在の実行行が自動的に強調表示されます。For most languages including C#, breakpoint and current execution lines are automatically highlighted. コードC++の場合、ブレークポイントと現在の行を強調表示するには、ツール (または デバッグ) > オプション > デバッグを選択し > ブレークポイントのソース行全体を強調表示し、現在 をクリックします。ステートメント (C++のみ)For C++ code, you can turn on highlighting of breakpoint and current lines by selecting Tools (or Debug) > Options > Debugging > Highlight entire source line for breakpoints and current statement (C++ only).

ブレークポイントの設定Set a breakpoint

デバッグすると、その行のコードが実行される前に、ブレークポイントで実行が一時停止されます。When you debug, execution pauses at the breakpoint, before the code on that line is executed. ブレークポイントシンボルは黄色の矢印を示しています。The breakpoint symbol shows a yellow arrow.

次の例のブレークポイントでは、testInt の値は1のままです。At the breakpoint in the following example, the value of testInt is still 1. そのため、この値は、変数が初期化されてから変更されていません (値は 1)。黄色のステートメントはまだ実行されていません。So, the value hasn't changed since the variable was initialized (set to a value of 1) because the statement in yellow hasn't yet executed.

ブレークポイントの実行を停止しましたBreakpoint execution stopped

デバッガーがブレークポイントで停止すると、変数の値呼び出し履歴など、アプリの現在の状態を確認できます。When the debugger stops at the breakpoint, you can look at the current state of the app, including variable values and the call stack.

ここでは、ブレークポイントを操作するための一般的な手順について説明します。Here are a few general instructions for working with breakpoints.

  • ブレークポイントはトグルです。The breakpoint is a toggle. これをクリックするか、 F9キーを押すか、またはデバッグ > 使用して、ブレークポイントを削除または再挿入できます。You can click it, press F9, or use Debug > Toggle Breakpoint to delete or reinsert it.

  • ブレークポイントを削除せずに無効にするには、ポインターをポイントするか右クリックし、 [ブレークポイントの無効化] を選択します。To disable a breakpoint without deleting it, hover over or right-click it, and select Disable breakpoint. 無効なブレークポイントは、左余白または [ブレークポイント] ウィンドウに空のドットとして表示されます。Disabled breakpoints appear as empty dots in the left margin or the Breakpoints window. ブレークポイントを再度有効にするには、マウスポインターを合わせるか右クリックし、 [ブレークポイントの有効化] を選択します。To re-enable a breakpoint, hover over or right-click it, and select Enable breakpoint.

  • 条件とアクションを設定したり、ラベルを追加および編集したり、ブレークポイントを右クリックして適切なコマンドを選択したり、設定アイコンを選択したりして、ブレークポイントをエクスポートします。Set conditions and actions, add and edit labels, or export a breakpoint by right-clicking it and selecting the appropriate command, or hovering over it and selecting the Settings icon.

ブレークポイント アクションとトレースポイントBreakpoint actions and tracepoints

トレースポイントは、 [出力] ウィンドウにメッセージを出力するブレークポイントです。A tracepoint is a breakpoint that prints a message to the Output window. トレースポイントは、プログラミング言語の一時的なトレースステートメントのように機能し、コードの実行を一時停止することはありません。A tracepoint can act like a temporary trace statement in the programming language and does not pause the execution of code. トレースポイントを作成するには、 [ブレークポイントの設定] ウィンドウで特別なアクションを設定します。You create a tracepoint by setting a special action in the Breakpoint Settings window. 詳細な手順については、「 Visual Studio デバッガーでのトレースポイントの使用」を参照してください。For detailed instructions, see Use tracepoints in the Visual Studio debugger.

ブレークポイント条件Breakpoint conditions

条件を設定して、ブレークポイントを実行するタイミングと場所を制御することができます。You can control when and where a breakpoint executes by setting conditions. 条件には、デバッガーが認識する任意の有効な式を指定できます。The condition can be any valid expression that the debugger recognizes. 有効な式の詳細については、デバッガー内の式に関するページを参照してください。For more information about valid expressions, see Expressions in the debugger.

ブレークポイント条件を設定するには:To set a breakpoint condition:

  1. ブレークポイントシンボルを右クリックし、 [条件] を選択します。Right-click the breakpoint symbol and select Conditions. または、ブレークポイントのシンボルにマウスポインターを移動し、 [設定] アイコンを選択し、 [ブレークポイントの設定] ウィンドウで [条件] を選択します。Or hover over the breakpoint symbol, select the Settings icon, and then select Conditions in the Breakpoint Settings window.

    ブレークポイントを右クリックして [設定] を選択し、 [条件] を選択して、 [ブレークポイント] ウィンドウで条件を設定することもできます。You can also set conditions in the Breakpoints window by right-clicking a breakpoint and selecting Settings, and then selecting Conditions.

    ブレークポイントの設定Breakpoint settings

  2. ドロップダウンリストで [条件式][ヒットカウント] 、または [フィルター] を選択し、必要に応じて値を設定します。In the dropdown, select Conditional Expression, Hit Count, or Filter, and set the value accordingly.

  3. [閉じる] を選択するか、 ctrl+enterキーを押して、 [ブレークポイントの設定] ウィンドウを閉じます。Select Close or press Ctrl+Enter to close the Breakpoint Settings window. または、 [ブレークポイント] ウィンドウで [OK] を選択してダイアログを閉じます。Or, from the Breakpoints window, select OK to close the dialog.

条件が設定されているブレークポイントは、ソースコード ウィンドウと ブレークポイント ウィンドウに + 記号と共に表示されます。Breakpoints with conditions set appear with a + symbol in the source code and Breakpoints windows.

条件式を作成するCreate a conditional expression

[条件式] を選択した場合は、 [true] または [変更されたとき] の2つの条件のいずれかを選択できます。When you select Conditional Expression, you can choose between two conditions: Is true or When changed. 式が満たされたときに中断する場合は [true] を選択し、式の値が変更された場合は [中断] に変更します。Choose Is true to break when the expression is satisfied, or When changed to break when the value of the expression has changed.

次の例では、testInt の値が4の場合にのみ、ブレークポイントがヒットします。In the following example, the breakpoint is hit only when the value of testInt is 4:

ブレークポイント条件が trueBreakpoint condition is true

次の例では、testInt の値が変更された場合にのみ、ブレークポイントがヒットします。In the following example, the breakpoint is hit only when the value of testInt changes:

変更時のブレークポイントBreakpoint When changed

無効な構文でブレークポイント条件を設定すると、警告メッセージが表示されます。If you set a breakpoint condition with invalid syntax, a warning message appears. 有効な構文でブレークポイント条件を指定しても、セマンティクスが無効な場合は、ブレークポイントに初めて達したときに警告メッセージが表示されます。If you specify a breakpoint condition with valid syntax but invalid semantics, a warning message appears the first time the breakpoint is hit. どちらの場合も、無効なブレークポイントにヒットするとデバッガーは中断します。In either case, the debugger breaks when it hits the invalid breakpoint. ブレークポイント条件が有効で、評価結果が falseの場合にのみ、ブレークポイントはスキップされます。The breakpoint is skipped only if the condition is valid and evaluates to false.

Note

[変更された場合] フィールドの動作は、プログラミング言語によって異なります。The behavior of the When changed field is different for different programming languages.

  • ネイティブコードの場合、デバッガーは条件の最初の評価を変更と見なしません。そのため、最初の評価でブレークポイントにヒットしません。For native code, the debugger doesn't consider the first evaluation of the condition to be a change, so doesn't hit the breakpoint on the first evaluation.
  • マネージコードの場合、デバッガーは、[変更された場合] が選択された後の最初の評価でブレークポイントにヒットします。For managed code, the debugger hits the breakpoint on the first evaluation after When changed is selected.

条件式でのオブジェクト Id のC#使用F# (およびのみ)Use Object IDs in conditional expressions (C# and F# only)

特定のオブジェクトの動作を確認することが必要になる場合があります。There are times when you want to observe the behavior of a specific object. たとえば、オブジェクトがコレクションに複数回挿入された理由を確認することができます。For example, you might want to find out why an object was inserted into a collection more than once. C# と F# では、参照型 の特定のインスタンスにオブジェクト ID を作成し、それらの ID をブレークポイントの条件で使用できます。In C# and F#, you can create object IDs for specific instances of reference types, and use them in breakpoint conditions. オブジェクト ID は、共通言語ランタイム (CLR) のデバッグ サービスで生成されて、オブジェクトに関連付けられます。The object ID is generated by the common language runtime (CLR) debugging services and associated with the object.

オブジェクト ID を作成するには:To create an Object ID:

  1. オブジェクトが作成された後、コードにブレークポイントを設定します。Set a breakpoint in the code some place after the object has been created.

  2. デバッグを開始し、ブレークポイントで実行が一時停止したら、[デバッグ > Windows > ローカルまたはAlt+4 ] を選択して [ローカル] ウィンドウを開きます。Start debugging, and when execution pauses at the breakpoint, select Debug > Windows > Locals or Alt+4 to open the Locals window.

    [ローカル] ウィンドウで特定のオブジェクトインスタンスを見つけて右クリックし、 [オブジェクト ID の作成] を選択します。Find the specific object instance in the Locals window, right-click it, and select Make Object ID.

    $ ウィンドウに、 [ローカル] ウィンドウを閉じます。You should see a $ plus a number in the Locals window. これが、オブジェクト ID です。This is the object ID.

  3. 調査するポイントに新しいブレークポイントを追加します。たとえば、オブジェクトをコレクションに追加する場合などです。Add a new breakpoint at the point you want to investigate; for example, when the object is to be added to the collection. ブレークポイントを右クリックし、 [条件] を選択します。Right-click the breakpoint and select Conditions.

  4. [条件式] フィールドでは、オブジェクト ID を使用します。Use the Object ID in the Conditional Expression field. たとえば、変数 item がコレクションに追加されるオブジェクトである場合は、 [true] を選択し、「 item = = $<n > 」と入力します。ここで、<n > はオブジェクト ID 番号です。For example, if the variable item is the object to be added to the collection, select Is true and type item == $<n>, where <n> is the object ID number.

    そのオブジェクトがコレクションに追加されると、実行が停止します。Execution will break at the point when that object is to be added to the collection.

    オブジェクト ID を削除するには、 [ローカル] ウィンドウで変数を右クリックし、 [オブジェクト id の削除] を選択します。To delete the Object ID, right-click the variable in the Locals window and select Delete Object ID.

Note

オブジェクト ID による参照は弱参照であり、これによって、オブジェクトがガベージ コレクションの対象から外れることはありません。Object IDs create weak references, and do not prevent the object from being garbage collected. オブジェクト ID は、現在のデバッグ セッションでのみ有効です。They are valid only for the current debugging session.

ヒットカウントの条件を設定するSet a hit count condition

特定の数のイテレーションの後にコード内のループが不適切に開始されたと思われる場合は、そのイテレーションに到達するためにF5キーを繰り返し押すのではなく、ヒット数の後に実行を停止するようにブレークポイントを設定できます。If you suspect that a loop in your code starts misbehaving after a certain number of iterations, you can set a breakpoint to stop execution after that number of hits, rather than having to repeatedly press F5 to reach that iteration.

[ブレークポイントの設定] ウィンドウの [条件] で、 [ヒットカウント] を選択し、イテレーションの数を指定します。Under Conditions in the Breakpoint Settings window, select Hit Count, and then specify the number of iterations. 次の例では、ブレークポイントは、他のすべてのイテレーションでヒットするように設定されています。In the following example, the breakpoint is set to hit on every other iteration:

ブレークポイントのヒットカウントBreakpoint hit count

フィルター条件の設定Set a filter condition

指定されたデバイスでのみ、または指定されたプロセスとスレッドでのみ、ブレークポイントが発生するように制限できます。You can restrict a breakpoint to fire only on specified devices, or in specified processes and threads.

[ブレークポイントの設定] ウィンドウの [条件] で、 [フィルター] を選択し、次の式の1つまたは複数を入力します。Under Conditions in the Breakpoint Settings window, select Filter, and then enter one or more of the following expressions:

  • MachineName = "name"MachineName = "name"
  • ProcessId = valueProcessId = value
  • ProcessName = "name"ProcessName = "name"
  • ThreadId = valueThreadId = value
  • ThreadName = "name"ThreadName = "name"

文字列の値を二重引用符で囲みます。Enclose string values in double quotes. 句は、 & (AND)、 || (OR)、 ! (NOT)、およびかっこを使用して結合できます。You can combine clauses using & (AND), || (OR), ! (NOT), and parentheses.

関数のブレークポイントの設定Set function breakpoints

関数が呼び出されると、実行が中断される可能性があります。You can break execution when a function is called. これは、たとえば関数名がわかっていて、その場所ではない場合などに便利です。This is useful, for example, when you know the function name but not its location. また、同じ名前の関数があり、それらすべてを中断する場合にも便利です (オーバーロードされた関数や異なるプロジェクトの関数など)。It is also useful if you have functions with the same name and you want to break on them all (such as overloaded functions or functions in different projects).

関数のブレークポイントを設定するには:To set a function breakpoint:

  1. [デバッグ > 新しいブレークポイント > 関数のブレークポイント] を選択するか、 Alt+F9キーを押し > Ctrl+Bを押します。Select Debug > New Breakpoint > Function Breakpoint, or press Alt+F9 > Ctrl+B.

    [ブレークポイント] ウィンドウで [新しい > 関数のブレークポイント] を選択することもできます。You can also select New > Function Breakpoint in the Breakpoints window.

  2. [新しい関数のブレークポイント] ダイアログで、 [関数名] ボックスに関数名を入力します。In the New Function Breakpoint dialog, enter the function name in the Function Name box.

    関数の仕様を絞り込むには、次のようにします。To narrow the function specification:

    • 完全修飾関数名を使用します。Use the fully qualified function name.

      例: Namespace1.ClassX.MethodA()Example: Namespace1.ClassX.MethodA()

    • オーバーロードされた関数のパラメーターの型を追加します。Add the parameter types of an overloaded function.

      例: MethodA(int, string)Example: MethodA(int, string)

    • モジュールを指定するには、'! ' 記号を使用します。Use the '!' symbol to specify the module.

      例 : App1.dll!MethodAExample: App1.dll!MethodA

    • ネイティブC++でコンテキスト演算子を使用します。Use the context operator in native C++.

      {function, , [module]} [+<line offset from start of method>]

      例 : {MethodA, , App1.dll}+2Example: {MethodA, , App1.dll}+2

  3. [言語] ドロップダウンで、関数の言語を選択します。In the Language dropdown, choose the language of the function.

  4. [OK] を選択します。Select OK.

メモリアドレスを使用して関数のブレークポイントC++を設定する (ネイティブのみ)Set a function breakpoint using a memory address (native C++ only)

オブジェクトのアドレスを使用して、クラスの特定のインスタンスによって呼び出されるメソッドに関数のブレークポイントを設定できます。You can use the address of an object to set a function breakpoint on a method called by a specific instance of a class. たとえば、my_class型のアドレス可能なオブジェクトを指定した場合、そのインスタンスが呼び出す my_method メソッドに関数のブレークポイントを設定できます。For example, given an addressable object of type my_class, you can set a function breakpoint on the my_method method that instance calls.

  1. クラスのインスタンスがインスタンス化された後のどこかにブレークポイントを設定します。Set a breakpoint somewhere after the instance of the class is instantiated.

  2. インスタンスのアドレスを検索します (たとえば、0xcccccccc)。Find the address of the instance (for example, 0xcccccccc).

  3. [デバッグ > 新しいブレークポイント > 関数のブレークポイント] を選択するか、 Alt+F9キーを押し > Ctrl+Bを押します。Select Debug > New Breakpoint > Function Breakpoint, or press Alt+F9 > Ctrl+B.

  4. [関数名] ボックスに次のを追加しC++ 、[言語] を選択します。Add the following to the Function Name box, and select C++ language.

    ((my_class *) 0xcccccccc)->my_method
    

データブレークポイントの設定 (.NET Core 3.0 以降)Set data breakpoints (.NET Core 3.0 or higher)

データブレークポイントは、特定のオブジェクトのプロパティが変更されたときに実行を中断します。Data breakpoints break execution when a specific object's property changes.

データブレークポイントを設定するにはTo set a data breakpoint

  1. .NET Core プロジェクトでデバッグを開始し、ブレークポイントに到達するまで待ちます。In a .NET Core project, start debugging, and wait until a breakpoint is reached.

  2. [自動変数][ウォッチ] 、または [ローカル] ウィンドウで、プロパティを右クリックし、コンテキストメニューの [値の変更時に中断] をクリックします。In the Autos, Watch, or Locals window, right-click a property and select Break when value changes in the context menu.

    マネージデータブレークポイントManaged Data Breakpoint

.NET Core のデータブレークポイントは、次の場合には機能しません。Data breakpoints in .NET Core won't work for:

  • ツールヒント、ローカル、自動変数、またはウォッチウィンドウに展開できないプロパティProperties that are not expandable in the tooltip, Locals, Autos, or Watch window
  • 静的変数Static variables
  • デバッガ Typeproxy 属性を持つクラスClasses with the DebuggerTypeProxy Attribute
  • 構造体内のフィールドFields inside of structs

データブレークポイントの設定C++ (ネイティブのみ)Set data breakpoints (native C++ only)

指定されたメモリアドレスに格納されている値が変更されると、データブレークポイントは実行を中断します。Data breakpoints break execution when a value stored at a specified memory address changes. 値が読み取られても変更されていなければ、実行は中断されません。If the value is read but not changed, execution doesn't break.

データブレークポイントを設定するには:To set a data breakpoint:

  1. C++プロジェクトでデバッグを開始し、ブレークポイントに到達するまで待ちます。In a C++ project, start debugging, and wait until a breakpoint is reached. [デバッグ] メニューで、[新しいブレークポイント > データブレークポイント] を選択します。On the Debug menu, choose New Breakpoint > Data Breakpoint

    [ブレークポイント] ウィンドウで [新しい > データブレークポイント] を選択するか、 [自動変数][ウォッチ] 、または [ローカル] ウィンドウで項目を右クリックして、コンテキストメニューの [値の変更時に中断] を選択することもできます。You can also select New > Data Breakpoint in the Breakpoints window or right-click an item in the Autos, Watch, or Locals window and select Break when value changes in the context menu.

  2. [アドレス] ボックスに、メモリ アドレス、またはメモリ アドレスを表す式を入力します。In the Address box, type a memory address, or an expression that evaluates to a memory address. たとえば、「 &avar 」と入力すると、変数 avar の値が変更されたときに中断します。For example, type &avar to break when the contents of the variable avar changes.

  3. [バイト数] ドロップダウンで、デバッガーがウォッチするバイト数を選択します。In the Byte Count dropdown, select the number of bytes you want the debugger to watch. たとえば、 [4] を選択すると、 &avar で始まる 4 バイトがウォッチされ、そのバイト値のいずれかが変更されると中断します。For example, if you select 4, the debugger will watch the four bytes starting at &avar and break if any of those bytes change value.

データブレークポイントは、次の状況では機能しません。Data breakpoints don't work under the following conditions:

  • デバッグ対象外のプロセスがメモリ位置に書き込む場合A process that is not being debugged writes to the memory location.
  • メモリ位置が 2 つ以上のプロセス間で共有されている場合The memory location is shared between two or more processes.
  • メモリ位置がカーネル内で更新される場合The memory location is updated within the kernel. たとえば、メモリが32ビットの Windows ReadFile 関数に渡された場合、メモリはカーネルモードから更新されるため、更新時にデバッガーが中断されることはありません。For example, if memory is passed to the 32-bit Windows ReadFile function, the memory will be updated from kernel mode, so the debugger won't break on the update.
  • ここで、ウォッチ式は32ビットハードウェアでは4バイト、64ビットハードウェアでは8バイトを超えています。Where the watch expression is larger than 4 bytes on 32-bit hardware and 8 bytes on 64-bit hardware. これは、x86 アーキテクチャの制限です。This is a limitation of the x86 architecture.

Note

  • データブレークポイントは、特定のメモリアドレスに依存します。Data breakpoints depend on specific memory addresses. 変数のアドレスが1つのデバッグセッションから次のセッションに変更されるため、各デバッグセッションの終了時にデータブレークポイントが自動的に無効になります。The address of a variable changes from one debugging session to the next, so data breakpoints are automatically disabled at the end of each debugging session.

  • ローカル変数にデータ ブレークポイントを設定すると、関数が終了してもブレークポイントは有効なままですが、メモリ アドレスは変更されるので、ブレークポイントは予測どおりに機能しなくなります。If you set a data breakpoint on a local variable, the breakpoint remains enabled when the function ends, but the memory address is no longer applicable, so the behavior of the breakpoint is unpredictable. ローカル変数にデータブレークポイントを設定する場合は、関数が終了する前にブレークポイントを削除するか無効にする必要があります。If you set a data breakpoint on a local variable, you should delete or disable the breakpoint before the function ends.

[ブレークポイント] ウィンドウでブレークポイントを管理するManage breakpoints in the Breakpoints window

[ブレークポイント] ウィンドウを使用すると、ソリューション内のすべてのブレークポイントを表示および管理できます。You can use the Breakpoints window to see and manage all the breakpoints in your solution. この一元化された場所は、大規模なソリューションで特に便利です。また、ブレークポイントが重要な複雑なデバッグシナリオにも役立ちます。This centralized location is especially helpful in a large solution, or for complex debugging scenarios where breakpoints are critical.

[ブレークポイント] ウィンドウでは、ブレークポイントの検索、並べ替え、フィルター処理、有効化/無効化、または削除を行うことができます。In the Breakpoints window, you can search, sort, filter, enable/disable, or delete breakpoints. また、条件とアクションを設定したり、新しい関数またはデータブレークポイントを追加したりすることもできます。You can also set conditions and actions, or add a new function or data breakpoint.

[ブレークポイント] ウィンドウを開くには、[デバッグ > Windows > ブレークポイント] を選択するか、alt+F9キーまたは Ctrlキーを押し+ながら alt+Bキーを押します。To open the Breakpoints window, select Debug > Windows > Breakpoints, or press Alt+F9 or Ctrl+Alt+B.

ブレークポイントウィンドウBreakpoints window

[ブレークポイント] ウィンドウに表示する列を選択するには、 [列の表示] を選択します。To select the columns to display in the Breakpoints window, select Show Columns. 列ヘッダーを選択すると、その列によってブレークポイントの一覧が並べ替えられます。Select a column header to sort the breakpoints list by that column.

ブレークポイントのラベルBreakpoint labels

ラベルを使用して、 [ブレークポイント] ウィンドウでブレークポイントの一覧の並べ替えとフィルター処理を行うことができます。You can use labels to sort and filter the list of breakpoints in the Breakpoints window.

  1. ブレークポイントにラベルを追加するには、ソースコードまたは [ブレークポイント] ウィンドウでブレークポイントを右クリックし、 [ラベルの編集] を選択します。To add a label to a breakpoint, right-click the breakpoint in the source code or the Breakpoints window, and then select Edit labels. 新しいラベルを追加するか、既存のラベルを選択し、[ OK] を選択します。Add a new label or choose an existing one, and then select OK.
  2. [ブレークポイント] ウィンドウで、ラベル条件、またはその他の列ヘッダーを選択して、ブレークポイントの一覧を並べ替えます。Sort the breakpoint list in the Breakpoints window by selecting the Labels, Conditions, or other column headers. ツールバーの [列の表示] を選択すると、表示する列を選択できます。You can select the columns to display by selecting Show Columns in the toolbar.

ブレークポイントをエクスポートおよびインポートするExport and import breakpoints

ブレークポイントの状態と位置を保存または共有するには、ブレークポイントをエクスポートまたはインポートします。To save or share the state and location of your breakpoints, you can export or import them.

  • 1つのブレークポイントを XML ファイルにエクスポートするには、ソースコード ウィンドウまたは ブレークポイント ウィンドウでブレークポイントを右クリックし、選択した エクスポートまたはエクスポート を選択します。To export a single breakpoint to an XML file, right-click the breakpoint in the source code or Breakpoints window, and select Export or Export selected. エクスポートの場所を選択し、 [保存] を選択します。Select an export location, and then select Save. 既定の場所は、ソリューションフォルダーです。The default location is the solution folder.
  • 複数のブレークポイントをエクスポートするには、 [ブレークポイント] ウィンドウで、ブレークポイントの横にあるボックスを選択するか、検索フィールドに検索条件を入力します。To export several breakpoints, in the Breakpoints window, select the boxes next to the breakpoints, or enter search criteria in the Search field. [現在の検索条件に一致するすべてのブレークポイントをエクスポートする] アイコンを選択し、ファイルを保存します。Select the Export all breakpoints matching the current search criteria icon, and save the file.
  • すべてのブレークポイントをエクスポートするには、すべてのボックスの選択を解除し、検索フィールドを空白のままにします。To export all breakpoints, deselect all boxes and leave the Search field blank. [現在の検索条件に一致するすべてのブレークポイントをエクスポートする] アイコンを選択し、ファイルを保存します。Select the Export all breakpoints matching the current search criteria icon, and save the file.
  • ブレークポイントをインポートするには、 [ブレークポイント] ウィンドウで [ファイルからブレークポイントをインポート] アイコンを選択し、XML ファイルの場所に移動して、 [開く] を選択します。To import breakpoints, in the Breakpoints window, select the Import breakpoints from a file icon, navigate to the XML file location, and select Open.

デバッガーウィンドウからブレークポイントを設定するSet breakpoints from debugger windows

ブレークポイントは、 [呼び出し履歴] ウィンドウおよび [逆アセンブル] デバッガーウィンドウから設定することもできます。You can also set breakpoints from the Call Stack and Disassembly debugger windows.

[呼び出し履歴] ウィンドウでブレークポイントを設定するSet a breakpoint in the Call Stack window

呼び出し元の関数が返す命令または行を中断するには、 [呼び出し履歴] ウィンドウでブレークポイントを設定します。To break at the instruction or line that a calling function returns to, you can set a breakpoint in the Call Stack window.

[呼び出し履歴] ウィンドウでブレークポイントを設定するには、次のようにします。To set a breakpoint in the Call Stack window:

  1. [呼び出し履歴] ウィンドウを開くには、デバッグ中に一時停止する必要があります。To open the Call Stack window, you must be paused during debugging. [デバッグ > Windows > コールスタック] を選択するか、+ctrlキーを押しながらAlt+Cキーを押します。Select Debug > Windows > Call Stack, or press Ctrl+Alt+C.

  2. [呼び出し履歴] ウィンドウで、呼び出し元の関数を右クリックし、 [ブレークポイント] をクリックし > ブレークポイントを挿入するか、 F9キーを押します。In the Call Stack window, right-click the calling function and select Breakpoint > Insert Breakpoint, or press F9.

    呼び出し履歴の左余白にある関数呼び出し名の横にブレークポイントシンボルが表示されます。A breakpoint symbol appears next to the function call name in the left margin of the call stack.

呼び出し履歴のブレークポイントは、関数の次の実行可能命令に対応するメモリ位置を持つアドレスとして、 [ブレークポイント] ウィンドウに表示されます。The call stack breakpoint appears in the Breakpoints window as an address, with a memory location that corresponds to the next executable instruction in the function.

デバッガーは命令で中断します。The debugger breaks at the instruction.

呼び出し履歴の詳細については、「How to: Use the Call Stack Window」 (方法: [呼び出し履歴] ウィンドウの使用) を参照してください。For more information about the call stack, see How to: Use the Call Stack window.

コードの実行中にブレークポイントを視覚的にトレースするには、「デバッグ中の呼び出し履歴のメソッドのマップ」を参照してください。To visually trace breakpoints during code execution, see Map methods on the call stack while debugging.

[逆アセンブル] ウィンドウでブレークポイントを設定するSet a breakpoint in the Disassembly window

  1. [逆アセンブル] ウィンドウを開くには、デバッグ中に一時停止する必要があります。To open the Disassembly window, you must be paused during debugging. [デバッグ > Windows > 逆アセンブリ] を選択するか、 Alt+8を押します。Select Debug > Windows > Disassembly, or press Alt+8.

  2. [逆アセンブル] ウィンドウで、中断する命令の左側の余白をクリックします。In the Disassembly window, click in the left margin of the instruction you want to break at. また、これを選択してF9キーを押すか、右クリックして [ブレークポイント] を選択し > ブレークポイントを挿入することもできます。You can also select it and press F9, or right-click and select Breakpoint > Insert Breakpoint.

関連項目See also