クイック スタート: Visual Studio デバッガーを使用して ASP.NET Core をデバッグするQuickstart: Debug ASP.NET Core with the Visual Studio debugger

Visual Studio デバッガーでは、アプリのデバッグに役立つ多くの強力な機能が提供されます。The Visual Studio debugger provides many powerful features to help you debug your apps. このトピックでは、基本的な機能のいくつかを簡単に紹介します。This topic provides a quick way to learn some of the basic features.

新しいプロジェクトを作成するCreate a new project

  1. Visual Studio を開きます。Open Visual Studio.

    Esc キーを押してスタート ウィンドウを閉じます。Press Esc to close the start window. Ctrl + Q キーを押して検索ボックスを開き、「asp.net」と入力し、 [テンプレート] を選択してから、 [新しい ASP.NET Core Web アプリケーションの作成] を選択します。Type Ctrl + Q to open the search box, type asp.net, choose Templates, then choose Create new ASP.NET Core Web Application. 表示されたダイアログ ボックスで、 [作成] を選択します。In the dialog box that appears, choose Create.

    上部のメニュー バーから、 [ファイル] > [新規作成] > [プロジェクト] の順に選択します。From the top menu bar, choose File > New > Project. [新しいプロジェクト] の左側のウィンドウで、 [Visual C#] の下にある [Web] を選択し、次に、真ん中のウィンドウで [ASP.NET Core Web アプリケーション] を選択します。In the left pane of the New project dialog box, under Visual C#, choose Web, and then in the middle pane choose ASP.NET Core Web Application. MyDbgApp」のような名前を入力し、 [OK] をクリックします。Type a name like MyDbgApp and click OK.

    表示されたダイアログ ボックスの中央のウィンドウで、 [Web アプリケーション] を選択し、 [OK] をクリックします。In the dialog box that appears, choose Web Application in the middle pane, and then click OK.

    Web アプリケーションを選ぶ

    [ASP.NET Core Web アプリケーション] プロジェクト テンプレートが表示されない場合は、 [ツール] > [ツールと機能を取得...] に移動して、Visual Studio インストーラーを開きます。If you don't see the ASP.NET Core Web Application project template, go to Tools > Get Tools and Features..., which opens the Visual Studio Installer. [ASP.NET と Web 開発] ワークロードを選択してから [変更] を選択します。Choose the ASP.NET and web development workload, then choose Modify.

    Visual Studio によってプロジェクトが作成されます。Visual Studio creates the project.

  2. ソリューション エクスプローラーで、(Pages/About.cshtml の下の) About.cshtml.cs を開き、次のコードIn Solution Explorer, open About.cshtml.cs (under Pages/About.cshtml) and replace the following code

    public void OnGet()
    {
        Message = "Your application description page.";
    }
    

    を、次のコードで置換します。with this code:

    public void OnGet()
    {
        LinkedList<int> result = doWork();
        Message = "Result of work: " + result.First.Value + ", " + result.First.Value;
    }
    
    private static LinkedList<int> doWork()
    {
        LinkedList<int> c1 = new LinkedList<int>();
    
        c1.AddLast(10);
        c1.AddLast(20);
    
        LinkedList<int> c2 = new LinkedList<int>(c1);
    
        return c2;
    
    }
    

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

ブレークポイントは、Visual Studio で実行コードが中断される場所を示すマーカーです。これにより、変数の値またはメモリの動作を確認したり、コードの分岐が実行されるかどうかを確認したりすることができます。A breakpoint is a marker that indicates where Visual Studio should suspend your running code so you can take a look at the values of variables, or the behavior of memory, or whether or not a branch of code is getting run. これが、デバッグの最も基本的な機能です。It is the most basic feature in debugging.

  1. ブレークポイントを設定するには、doWork 関数の左側の余白をクリックします (またはコード行を選択して、F9 キーを押します)。To set the breakpoint, click in the gutter to the left of the doWork function (or select the line of code and press F9).

    ブレークポイントの設定

    ブレークポイントは左中かっこ ({) の左側に設定されます。The breakpoint is set to the left of the opening brace ({).

  2. ここで F5 キーを押します (または [デバッグ] > [デバッグの開始] の順に選択します)。Now press F5 (or choose Debug > Start Debugging).

  3. Web ページが読み込まれたら、Web ページの上部にある [バージョン情報] リンクをクリックします。When the web page loads, click the About link at the top of the web page.

    ブレークポイントを設定した場所でデバッガーが一時停止します。The debugger pauses where you set the breakpoint. デバッガーとアプリの実行が一時停止されているステートメントが、黄色の矢印で示されます。The statement where the debugger and app execution is paused is indicated by the yellow arrow. doWork 関数の宣言の後の左中かっこ ({) がある行はまだ実行されていません。The line with the opening brace ({) after the doWork function declaration has not yet executed.

    ブレークポイントに到達する

    Tip

    ループまたは再帰処理の中にブレークポイントがある場合、または頻繁にステップ実行するブレークポイントが数多くある場合、条件付きブレークポイントを使用して、特定の条件が満たされる場合にのみコードが中断されるようにしてください。If you have a breakpoint in a loop or recursion, or if you have many breakpoints that you frequently step through, use a conditional breakpoint to make sure that your code is suspended ONLY when specific conditions are met. これにより、時間が節約され、再現が難しい問題をより簡単にデバッグすることもできます。This saves time and can also make it easier to debug issues that are hard to reproduce.

続行するようにデバッガーに指示するためのさまざまなコマンドがあります。There are different commands to instruct the debugger to continue. ここでは、Visual Studio 2017 以降で使用できる便利なコード ナビゲーション コマンドを示します。We show a useful code navigation command that is available starting in Visual Studio 2017.

ブレークポイントで一時停止している間に、緑色の [クリックで実行] ボタン [クリックで実行] が表示されるまでステートメント return c2 をポイントし、表示されたら [クリックで実行] ボタンを押します。While paused at the breakpoint, hover over the statement return c2 until the green Run to click button Run to Click appears, and then press the Run to click button.

クリックで実行

アプリは引き続き実行され、ボタンをクリックしたコード行で一時停止します。The app continues execution, and pauses on the line of code where you clicked the button.

コードのステップ実行に使用される一般的なキーボード コマンドには、F10F11 が含まれます。Common keyboard commands used to step through code include F10 and F11. 詳しい手順については、「デバッガーでのはじめに」をご覧ください。For more in-depth instructions, see First look at the debugger.

データヒントの変数を検査するInspect variables in a datatip

  1. (黄色の実行ポインターでマークされた) コードの現在の行で、c2 オブジェクトをマウスでポイントしてデータヒントを表示します。In the current line of code (marked by the yellow execution pointer), hover over the c2 object with your mouse to show a datatip.

    データヒントを表示する

    データヒントでは、c2 変数の現在の値が示され、そのプロパティを検査することができます。The datatip shows you the current value of the c2 variable and allows you to inspect its properties. デバッグ中に、予期しない値が表示される場合は、先行するコード行または呼び出しているコード行にバグがある可能性があります。When debugging, if you see a value you don't expect, you probably have a bug in the preceding or calling lines of code.

  2. データヒントを展開して、c2 オブジェクトの現在のプロパティ値を確認します。Expand the datatip to look at the current property values of the c2 object.

  3. コードを実行している間に c2 の値を引き続き表示できるようにデータヒントをピン留めする場合は、小さいピン アイコンをクリックしますIf you want to pin the datatip so that you can continue to see the value of c2 while you execute code, click the small pin icon. (ピン留めしたデータヒントを任意の場所に移動することができます)。(You can move the pinned datatip to a convenient location.)

コードを編集してデバッグを続行するEdit code and continue debugging

デバッグ セッションの途中にコードでテストする変更を識別する場合は、そのようにすることもできます。If you identify a change that you want to test in your code while in the middle of a debugging session, you can do that, too.

  1. OnGet メソッドで、result.First.Value の 2 番目のインスタンスをクリックし、result.First.Valueresult.Last.Value に変更します。In the OnGet method, click the second instance of result.First.Value and change result.First.Value to result.Last.Value.

  2. F10 キー (または [デバッグ] > [ステップ オーバー] ) を数回押して、デバッガーを進めて編集したコードを実行します。Press F10 (or Debug > Step Over) a few times to advance the debugger and execute the edited code.

    エディット コンティニュEdit and continue

    F10 キーでは、デバッガーは一度に 1 ステートメントずつ進みますが、関数をステップインするのではなく、ステップ オーバーします (スキップしたコードがまだ実行される)。F10 advances the debugger one statement at a time, but steps over functions instead of stepping into them (the code that you skip still executes).

エディット コンティニュの使用および機能制限の詳細については、エディット コンティニュに関するページを参照してください。For more information on using edit-and-continue and on feature limitations, see Edit and Continue.

次の手順Next steps

このチュートリアルでは、デバッガーを起動する方法、コードをステップ実行する方法、変数を確認する方法について学習しました。In this tutorial, you've learned how to start the debugger, step through code, and inspect variables. 必要に応じて、デバッガー機能の概要と、詳細情報へのリンクを取得します。You may want to get a high-level look at debugger features along with links to more information.