Schnellstart: Debuggen von ASP.NET Core mithilfe des Visual Studio-DebuggersQuickstart: Debug ASP.NET Core with the Visual Studio debugger

Der Visual Studio-Debugger umfasst viele nützliche Features zum Debuggen von Apps.The Visual Studio debugger provides many powerful features to help you debug your apps. In diesem Thema werden einige der grundlegenden Funktionen erläutert.This topic provides a quick way to learn some of the basic features.

Erstellt ein neues ProjektCreate a new project

  1. Öffnen Sie Visual Studio.Open Visual Studio.

    Drücken Sie ESC, um das Startfenster zu schließen.Press Esc to close the start window. Geben Sie STRG + Q ein, um das Suchfeld zu öffnen, geben Sie asp.net ein, und wählen Sie Vorlagen und dann Neue ASP.NET Core-Webanwendung erstellen aus.Type Ctrl + Q to open the search box, type asp.net, choose Templates, then choose Create new ASP.NET Core Web Application. Wählen Sie im angezeigten Dialogfeld Erstellen aus.In the dialog box that appears, choose Create.

    Klicken Sie oben in der Menüleiste auf Datei > Neu > Projekt.From the top menu bar, choose File > New > Project. Wählen Sie im linken Bereich des Dialogfelds Neues Projekt unter Visual C# Web aus, und wählen Sie dann im mittleren Bereich ASP.NET Core-Webanwendung aus.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. Geben Sie einen Namen wie MyDbgApp ein, und klicken Sie auf OK.Type a name like MyDbgApp and click OK.

    Wählen Sie im angezeigten Dialogfeld im mittleren Bereich Webanwendung aus, und klicken Sie dann auf OK.In the dialog box that appears, choose Web Application in the middle pane, and then click OK.

    Auswählen einer Webanwendung

    Wenn die Projektvorlage ASP.NET Core-Webanwendung nicht angezeigt wird, öffnen Sie unter Tools > Tools und Features abrufen ... den Visual Studio-Installer.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. Klicken Sie auf die Workload ASP.NET und Webentwicklung, und klicken Sie anschließend auf Ändern.Choose the ASP.NET and web development workload, then choose Modify.

    Visual Studio erstellt daraufhin das Projekt.Visual Studio creates the project.

  2. Öffnen Sie die Datei „About.cshtml.cs“ (unter Pages/About.cshtml) im Projektmappen-Explorer, und ersetzen Sie den folgenden CodeIn Solution Explorer, open About.cshtml.cs (under Pages/About.cshtml) and replace the following code

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

    durch den folgenden: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;
    
    }
    

Haltepunkt festlegenSet a breakpoint

Ein Breakpoint gibt an, an welcher Stelle Visual Studio ausgeführten Code anhalten soll. So können Sie einen Blick auf die Werte von Variablen oder das Speicherverhalten werfen oder überprüfen, ob eine Verzweigung im Code ausgeführt wird.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. Es handelt sich dabei um ein grundlegendes Debugfeature.It is the most basic feature in debugging.

  1. Wenn Sie einen Breakpoint festlegen möchten, klicken Sie im Bundsteg auf den Bereich links neben der Funktion doWork. Alternativ können Sie aber auch die Codezeile auswählen und F9 drücken.To set the breakpoint, click in the gutter to the left of the doWork function (or select the line of code and press F9).

    Haltepunkt festlegen

    Der Breakpoint wird links neben der öffnenden geschweiften Klammer ({) festgelegt.The breakpoint is set to the left of the opening brace ({).

  2. Drücken Sie dann F5, oder klicken Sie auf Debuggen > Debuggen starten.Now press F5 (or choose Debug > Start Debugging).

  3. Klicken Sie oben auf der Webseite auf den Link Info, wenn die Webseite geladen wird.When the web page loads, click the About link at the top of the web page.

    Der Debugger hält an dem Breakpoint an, den Sie festlegen.The debugger pauses where you set the breakpoint. Der gelbe Pfeil deutet auf die Anweisung, bei der der Debugger und die App-Ausführung ausgesetzt werden.The statement where the debugger and app execution is paused is indicated by the yellow arrow. Die Zeile mit der öffnenden geschweiften Klammer ({) nach der Funktionsdeklaration doWork wurde noch nicht ausgeführt.The line with the opening brace ({) after the doWork function declaration has not yet executed.

    Treffen eines Haltepunkts

    Tipp

    Verwenden Sie bei Breakpoints in einer Schleife oder Rekursion oder bei sehr vielen Breakpoints, die Sie häufig schrittweise durchlaufen, einen bedingten Breakpoint, damit die Codeausführung NUR unterbrochen wird, wenn bestimmte Bedingungen erfüllt sind.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. Damit sparen Sie Zeit und erleichtern sich möglicherweise das Debuggen von Problemen, die nur schwierig zu reproduzieren sind.This saves time and can also make it easier to debug issues that are hard to reproduce.

Es gibt verschiedene Befehle, über die der Debugger zum Fortfahren angewiesen werden kann.There are different commands to instruct the debugger to continue. In diesem Artikel wird ein nützlicher Befehl zur Codenavigation erläutert, der ab Visual Studio 2017 verfügbar ist.We show a useful code navigation command that is available starting in Visual Studio 2017.

Wenn der Vorgang am Breakpoint ausgesetzt wurde, zeigen Sie auf die Anweisung return c2, bis die grüne Schaltfläche Run to click (Ausführen bis Klick) Ausführen bis Klick angezeigt wird, und klicken Sie dann auf diese.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.

Ausführen bis Klick

Dann wird die App weiter ausgeführt, und wird bei der Codezeile ausgesetzt, bei der Sie die Schaltfläche angeklickt haben.The app continues execution, and pauses on the line of code where you clicked the button.

Häufig werden die Tastaturbefehle F10 und F11 verwendet, um Code durchzugehen.Common keyboard commands used to step through code include F10 and F11. Weitere ausführliche Anweisungen finden Sie unter Ein erster Blick auf den Visual Studio-Debugger.For more in-depth instructions, see First look at the debugger.

Untersuchen von Variablen in einem DatentippInspect variables in a datatip

  1. Zeigen Sie in der aktuellen Codezeile (zu erkennen an dem gelben Ausführungszeiger) mit der Maus auf das c2-Objekt, um Datentipps anzuzeigen.In the current line of code (marked by the yellow execution pointer), hover over the c2 object with your mouse to show a datatip.

    Anzeigen eines Datentipps

    Der aktuelle Wert der Variable c2 wird angezeigt, und Sie können die Eigenschaften untersuchen.The datatip shows you the current value of the c2 variable and allows you to inspect its properties. Wenn Sie beim Debuggen einen nicht erwarteten Wert antreffen, enthalten die vorhergehenden oder die aufrufenden Codezeilen möglicherweise einen Fehler.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. Erweitern Sie den Datentipp, um die Eigenschaftswerte des c2-Objekts einzusehen.Expand the datatip to look at the current property values of the c2 object.

  3. Wenn Sie den Datentipp anheften möchten, damit bei der Codeausführung weiterhin der Wert von c2 angezeigt wird, klicken Sie auf das Stecknadelsymbol.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. (Sie können den angehefteten Datentipp an eine geeignete Stelle verschieben.)(You can move the pinned datatip to a convenient location.)

Bearbeiten von Code und Fortsetzen des DebuggensEdit code and continue debugging

Wenn Sie in einer Debugsitzung eine Änderung feststellen, die Sie in Ihrem Code testen möchten, ist dies auch kein Problem.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. Klicken Sie in der OnGet-Methode auf die zweite Instanz von result.First.Value, und ändern Sie result.First.Value in result.Last.Value.In the OnGet method, click the second instance of result.First.Value and change result.First.Value to result.Last.Value.

  2. Drücken Sie wiederholt F10 (oder klicken Sie auf Debuggen > Prozedurschritt), um den Debugger fortzusetzen und den bearbeiteten Code auszuführen.Press F10 (or Debug > Step Over) a few times to advance the debugger and execute the edited code.

    Bearbeiten und FortfahrenEdit and continue

    Wenn Sie F10 drücken, führt der Debugger jeweils nur eine Anweisung aus, überspringt Funktionen aber, anstatt diese schrittweise auszuführen (der Code, den Sie überspringen, wird weiter ausgeführt).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).

Weitere Informationen zum Bearbeiten und Fortfahren und zu Einschränkungen von Features finden Sie unter Edit and Continue (Bearbeiten und Fortfahren).For more information on using edit-and-continue and on feature limitations, see Edit and Continue.

Nächste SchritteNext steps

In diesem Tutorial haben Sie gelernt, wie Sie den Debugger starten, Code schrittweise durchlaufen und Variablen untersuchen.In this tutorial, you've learned how to start the debugger, step through code, and inspect variables. Sie sollten sich einen allgemeinen Überblick über die Debugger-Features verschaffen und die zugehörigen Links aufrufen, um weitere Informationen hierzu zu erhalten.You may want to get a high-level look at debugger features along with links to more information.