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.

注意

解決しようとしているタスクまたは問題はわかっていても、使用するブレークポイントの種類を知る必要がある場合は、「デバッグ タスクの検索」を参照してください。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# コードでは、変数代入 (int testInt = 1)、for ループ、または for ループ内の任意のコードを使用して、コード行にブレークポイントを設定できます。For example, in the following C# code, you could set a breakpoint on the line of code with the variable assignment (int testInt = 1), the for loop, or any code inside the for loop. 割り当てがなく、ゲッターとセッターもない場合は、メソッド シグネチャ、名前空間かクラスの宣言、または変数宣言にブレークポイントを設定することはできません。You can't set a breakpoint on method signatures, declarations for a namespace or class, or variable declarations if there's no assignment and no getter/setter.

ソース コードでブレークポイントを設定するには、コード行の左端の余白をクリックします。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

[条件式] を選択するときは、次の 2 つの条件のいずれかを選択できます: [true の場合] または [変更された場合]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.

注意

[変更された場合] フィールドの動作は、プログラミング言語によって異なります。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. デバッグを開始し、ブレークポイントで実行が停止したら、 [デバッグ] > [ウィンドウ] > [ローカル] を選択するか、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.

注意

オブジェクト 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
  • DebuggerTypeProxy 属性を持つクラス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.
  • ウォッチ式が 4 バイト (32 ビット ハードウェア) または 8 バイト (64 ビット ハードウェア) より大きい場合。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.

注意

  • データ ブレークポイントは、特定のメモリ アドレスに依存します。Data breakpoints depend on specific memory addresses. 変数のアドレスはデバッグ セッションが変わると変化するので、各デバッグ セッションの終了時に、データ ブレークポイントは自動的に無効になります。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.

[ブレークポイント] ウィンドウを開くには、 [デバッグ] > [ウィンドウ] > [ブレークポイント] を選択するか、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. [デバッグ] > [ウィンドウ] > [呼び出し履歴] を選択するか、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.

呼び出し履歴の詳細については、[呼び出し履歴] ウィンドウの使用方法に関するページを参照してください。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. [デバッグ] > [ウィンドウ] > [逆アセンブリ] を選択するか、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