Ein erster Blick auf den Visual Studio-DebuggerFirst look at the Visual Studio Debugger

Dieser Artikel stellt eine Einführung in die Debuggertools dar, die in Visual Studio enthalten sind.This topic introduces the debugger tools provided by Visual Studio. Wenn Sie Ihre App in Visual Studio debuggen, bedeutet dies in der Regel, dass Sie Ihre Anwendung mit dem angefügten Debugger (also im Debugmodus) ausführen.In the Visual Studio context, when you debug your app, it usually means that you are running the application with the debugger attached (that is, in debugger mode). Wenn Sie dies machen, bietet der Debugger viele Möglichkeiten zum Ermitteln des Status Ihres Codes während der Ausführung.When you do this, the debugger provides many ways to see what your code is doing while it runs. Sie können Ihren Code schrittweise durchlaufen und die Werte prüfen, die in Variablen gespeichert sind, Sie können die Überwachung von Variablen festlegen, um zu sehen, wenn sich Werte ändern, und Sie können unter anderem den Ausführungspfad Ihres Codes prüfen. Wenn Sie zum ersten Mal versuchen, Code zu debuggen, sollten Sie Debuggen für Einsteiger lesen, bevor Sie diesen Artikel durchgehen.You can step through your code and look at the values stored in variables, you can set watches on variables to see when values change, you can examine the execution path of your code, et al. If this is the first time that you've tried to debug code, you may want to read Debugging for absolute beginners before going through this topic.

Die hier beschriebenen Features gelten für C#, C++, Visual Basic, JavaScript und andere von Visual Studio unterstützten Programmiersprachen (sofern nicht anderweitig angegeben).The features described here are applicable to C#, C++, Visual Basic, JavaScript, and other languages supported by Visual Studio (except where noted).

Festlegen eines Breakpoints und Starten des DebuggersSet a breakpoint and start the debugger

Sie müssen Ihre App mit dem an den App-Prozess angefügten Debugger starten, um diese zu debuggen.To debug, you need to start your app with the debugger attached to the app process. Am häufigsten wird hierfür die Taste F5 (alternativ: Debuggen > Debuggen starten) verwendet.F5 (Debug > Start Debugging) is the most common way to do that. Bisher haben Sie jedoch wahrscheinlich noch keine Breakpoints für die Untersuchung Ihres App-Codes festgelegt, deshalb werden Sie dies tun, bevor Sie mit dem Debuggen beginnen.However, right now you may not have set any breakpoints to examine your app code, so we will do that first and then start debugging. Haltepunkte sind eine einfache und wichtige Funktion zum zuverlässigen Debuggen.Breakpoints are the most basic and essential feature of reliable debugging. Ein Haltepunkt gibt an, wo Visual Studio im ausgeführten Code angehalten werden 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 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.

Wenn Sie eine Datei im Code-Editor geöffnet haben, können Sie einen Breakpoint festlegen, indem Sie auf den Rand links neben einer Codezeile klicken.If you have a file open in the code editor, you can set a breakpoint by clicking in the margin to the left of a line of code.

Haltepunkt festlegenSet a Breakpoint

Drücken Sie die Taste F5 (Debuggen > Debuggen starten), oder klicken Sie in der Symbolleiste „Debuggen“ auf die Schaltfläche Debuggen startenDebuggen starten. Der Debugger wird anschließend bis zum ersten Haltepunkt ausgeführt.Press F5 (Debug > Start Debugging) or the Start Debugging button Start Debugging in the Debug Toolbar, and the debugger runs to the first breakpoint that it encounters. Wenn die App noch nicht ausgeführt wird, kann der Debugger durch Drücken der Taste F5 gestartet werden und hält am ersten Breakpoint an.If the app is not yet running, F5 starts the debugger and stops at the first breakpoint.

Breakpoints sind eine nützliche Funktion, wenn Ihnen die Codezeile oder der Codeabschnitt bekannt ist, die bzw. den Sie genauer untersuchen möchten.Breakpoints are a useful feature when you know the line of code or the section of code that you want to examine in detail.

Für die meisten Befehle gibt es Tastenkombinationen, da Sie mit diesen schneller durch den Code Ihrer App navigieren können.We provide the keyboard shortcuts for most commands because they make navigation of your app code quicker. (Die entsprechenden Befehle, z.B. Menübefehle, werden in Klammern angegeben.)(Equivalent commands such as menu commands are shown in parentheses.)

Drücken Sie F11 (Debuggen > Einzelschritt), um Ihre App mit angefügtem Debugger zu starten.To start your app with the debugger attached, press F11 (Debug > Step Into). Durch Drücken der Taste F11 wird der Befehl Einzelschritt ausgeführt, und die App wird Anweisung für Anweisung ausgeführt.F11 is the Step Into command and advances the app execution one statement at a time. Wenn Sie die App mit F11 starten, hält der Debugger bei der ersten Anweisung an, die ausgeführt wird.When you start the app with F11, the debugger breaks on the first statement that gets executed.

Schrittweise ausführen (F11)F11 Step Into

Der gelbe Pfeil stellt die Anweisung dar, an der der Debugger angehalten hat. An der gleichen Stelle wird auch die Ausführung der App unterbrochen (diese Anweisung wurde noch nicht ausgeführt).The yellow arrow represents the statement on which the debugger paused, which also suspends app execution at the same point (this statement has not yet executed).

Das Drücken der Taste F11 bietet eine gute Möglichkeit, den Ausführungsablauf am ausführlichsten zu überprüfen.F11 is a good way to examine the execution flow in the most detail. (Es werden auch einige andere Optionen vorgestellt, mit denen Sie den Code schneller durchlaufen können.) Standardmäßig überspringt der Debugger Nichtbenutzercode (weitere Einzelheiten hierzu finden Sie unter Nur eigenen Code).(To move faster through code, we show you some other options as well.) By default, the debugger skips over non-user code (if you want more details, see Just My Code).

Hinweis

In verwaltetem Code wird ein Dialogfeld angezeigt, in dem Sie auswählen können, ob Sie benachrichtigt werden, wenn Eigenschaften und Operatoren automatisch übersprungen werden (Standardverhalten).In managed code, you will see a dialog box asking if you want to be notified when you automatically step over properties and operators (default behavior). Wenn Sie diese Einstellung im Nachhinein ändern möchten, deaktivieren Sie die Einstellung Eigenschaften und Operatoren überspringen im Menü Extras > Optionen unter Debuggen.If you want to change the setting later, disable Step over properties and operators setting in the Tools > Options menu under Debugging.

Prozedurschritt im Code zum Überspringen von FunktionenStep over code to skip functions

In einer Codezeile, die eine Funktion oder einen Methodenaufruf enthält, können Sie F10 (Debuggen > Prozedurschritt) anstelle von F11 verwenden.When you are on a line of code that is a function or method call, you can press F10 (Debug > Step Over) instead of F11.

Durch Drücken der Taste F10 fährt der Debugger in Ihrem App-Code fort, ohne dass Funktionen oder Methoden schrittweise ausgeführt werden (der Code wird immer noch ausgeführt).F10 advances the debugger without stepping into functions or methods in your app code (the code still executes). Sie können Code überspringen, der für Sie nicht relevant ist, indem Sie F10 drücken.By pressing F10, you can skip over code that you're not interested in. Dadurch gelangen Sie schnell zum relevanten Code.This way, you can quickly get to code that you are more interested in.

Einzelschritt zu einer EigenschaftStep into a property

Wie zuvor erwähnt überspringt der Debugger standardmäßig verwaltete Eigenschaften und Felder. Mit dem Befehl Einzelschritt in Angabe können Sie dieses Verhalten jedoch außer Kraft setzen.As mentioned earlier, by default the debugger skips over managed properties and fields, but the Step Into Specific command allows you to override this behavior.

Klicken Sie mit der rechten Maustaste auf eine Eigenschaft oder ein Feld, klicken Sie auf Einzelschritt in Angabe, und wählen Sie eine der verfügbaren Optionen aus.Right-click on a property or field and choose Step Into Specific, then choose one of the available options.

Einzelschritt in AngabeStep into Specific

In diesem Beispiel springt Einzelschritt in Angabe zum Code für Path.set.In this example, Step Into Specific gets us to the code for Path.set.

Einzelschritt in AngabeStep into Specific

Schnelles Ausführen bis zu einer bestimmten Stelle im Code mithilfe der MausRun to a point in your code quickly using the mouse

Zeigen Sie auf eine Codezeile, während der Debugger ausgeführt wird, bis die Schaltfläche Run to Click (Ausführung bis Klick/Ausführung bis hier ausführen) Ausführung bis Klick auf der linken Seite angezeigt wird.While in the debugger, hover over a line of code until the Run to Click (Run execution to here) button Run to Click appears on the left.

Run to Click (Ausführen bis Klick)Run to Click

Hinweis

Die Schaltfläche für die Aktion Ausführung bis Klick (Ausführung bis hier ausführen) ist ab Visual Studio 2017Visual Studio 2017 verfügbar.The Run to Click (Run execution to here) button is available starting in Visual Studio 2017Visual Studio 2017.

Klicken Sie auf die Schaltfläche Ausführung bis Klick (Ausführung bis hier ausführen).Click the Run to Click (Run execution to here) button. Der Debugger wechselt zu der Codezeile, auf die Sie geklickt haben.The debugger advances to the line of code where you clicked.

Die Verwendung dieser Schaltfläche ist mit dem Festlegen eines temporären Breakpoints vergleichbar.Using this button is similar to setting a temporary breakpoint. Dieser Befehl ist zudem nützlich, wenn Sie eine sichtbare Region Ihres App-Codes schnell durchlaufen möchten.This command is also handy for getting around quickly within a visible region of app code. Sie können Ausführung bis Klick in jeder geöffneten Datei verwenden.You can use Run to Click in any open file.

Fortsetzen des Debuggers außerhalb der aktuellen FunktionAdvance the debugger out of the current function

In einigen Fällen möchten Sie Ihre Debugsitzung fortsetzen, der Debugger soll die aktuelle Funktion jedoch durchlaufen.Sometimes, you might want to continue your debugging session but advance the debugger all the way through the current function.

Drücken Sie UMSCHALT + F11 (alternativ: Debuggen > Ausführen bis Rücksprung).Press Shift + F11 (or Debug > Step Out).

Mit diesem Befehl wird die Ausführung der App so lange fortgesetzt (und der Debugger weiter ausgeführt), bis die aktuelle Funktion wieder ausgeführt wird.This command resumes app execution (and advances the debugger) until the current function returns.

Ausführen bis CursorRun to cursor

Beenden Sie den Debugger, indem Sie auf die rote Schaltfläche Debuggen beendenDebuggen beenden klicken oder die Tastenkombination UMSCHALTTASTE + F5 verwenden.Stop the debugger by pressing the Stop Debugging red button Stop Debugging or Shift + F5.

Klicken Sie mit der rechten Maustaste auf eine Codezeile in Ihrer App, und wählen Sie Ausführen bis Cursor aus.Right-click a line of code in your app and choose Run to Cursor. Dadurch wird das Debuggen gestartet und ein temporärer Breakpoint in der aktuellen Codezeile festgelegt.This command starts debugging and sets a temporary breakpoint on the current line of code.

Ausführen bis CursorRun to Cursor

Wenn Sie Breakpoints festgelegt haben, hält der Debugger am ersten Breakpoint an, den er erreicht.If you have set breakpoints, the debugger pauses on the first breakpoint that it hits.

Drücken Sie F5, bis Sie die Codezeile erreichen, für die Sie Ausführen bis Cursor festgelegt haben.Press F5 until you reach the line of code where you selected Run to Cursor.

Dieser Befehl ist nützlich, wenn Sie Code bearbeiten und schnell einen temporären Breakpoint festlegen möchten, während gleichzeitig der Debugger gestartet wird.This command is useful when you are editing code and want to quickly set a temporary breakpoint and start the debugger at the same time.

Hinweis

Sie können Ausführen bis Cursor während des Debuggens im Fenster Aufrufliste verwenden.You can use Run to Cursor in the Call Stack window while you are debugging.

Schnelles Neustarten Ihrer AppRestart your app quickly

Klicken Sie in der Symbolleiste „Debuggen“ auf Neu starten App neu starten (STRG + UMSCHALT + F5).Click the Restart Restart App button in the Debug Toolbar (Ctrl + Shift +F5).

Durch das Klicken auf Neu starten sparen Sie im Vergleich zum Beenden der App und dem erneuten Starten des Debuggers Zeit.When you press Restart, it saves time versus stopping the app and restarting the debugger. Der Debugger hält am ersten Breakpoint an, der bei der Codeausführung erreicht wird.The debugger pauses at the first breakpoint that is hit by executing code.

Wenn Sie den Debugger beenden und zum Code-Editor zurückgehen möchten, können Sie anstelle von Neu starten auf die rote Schaltfläche „Beenden“ Debuggen beenden drücken.If you do want to stop the debugger and get back into the code editor, you can press the red stop Stop Debugging button instead of Restart.

Bearbeiten des Codes und Fortsetzen des Debuggens (C#, Visual Basic, C++, YAML)Edit your code and continue debugging (C#, VB, C++, XAML)

In den meisten Sprachen, die von Visual Studio unterstützt werden, können Sie den Code während einer Debugsitzung bearbeiten und das Debuggen fortsetzen.In most languages supported by Visual Studio, you can edit your code in the middle of a debugging session and continue debugging. Wenn Sie dieses Feature verwenden möchten, klicken Sie mit dem Cursor auf den Code, während dieser im Debugger angehalten wurde, und bearbeiten Sie diesen. Drücken Sie F5, F10 oder F11, um das Debuggen fortzusetzen.To use this feature, click into your code with your cursor while paused in the debugger, make edits, and press F5, F10, or F11 to continue debugging.

Bearbeiten und Fortsetzen des DebuggensEdit and continue debugging

Weitere Informationen zur Verwendung des Features finden Sie unter Bearbeiten und Fortsetzen.For more information on using the feature and on feature limitations, see Edit and Continue.

Weitere Informationen zum Ändern von XAML-Code während einer Debugsitzung finden Sie unter Schreiben und Debuggen von ausgeführtem XAML-Code durch Neuladen von XAML im laufenden Betrieb.To modify XAML code during a debugging session, see Write and debug running XAML code with XAML Hot Reload.

Untersuchen von Variablen mithilfe von DatentippsInspect variables with data tips

Da Sie sich nun ein wenig auskennen, können Sie damit beginnen, den Zustand Ihrer App (Variablen) mit dem Debugger zu überprüfen.Now that you know your way around a little, you have a good opportunity to start inspecting your app state (variables) with the debugger. Die Features, mit denen Sie Variablen untersuchen können, zählen zu den nützlichsten Einsatzgebieten des Debuggers. Es gibt verschiedene Möglichkeiten, Variablen zu untersuchen.Features that allow you to inspect variables are some of the most useful features of the debugger, and there are different ways to do it. Beim Debuggen eines Problems müssen Sie häufig herausfinden, ob Variablen die Werte speichern, die diese bei einem bestimmten App-Zustand aufweisen sollten.Often, when you try to debug an issue, you are attempting to find out whether variables are storing the values that you expect them to have in a particular app state.

Zeigen Sie mit der Maus auf ein Objekt, während der Debugger pausiert ist, um den Standardeigenschaftswert anzuzeigen. In diesem Beispiel ist der Dateiname market 031.jpg der Standardeigenschaftswert.While paused in the debugger, hover over an object with the mouse and you see its default property value (in this example, the file name market 031.jpg is the default property value).

Einen Datentipp anzeigenView a Data Tip

Erweitern Sie das Objekt, um alle Eigenschaften anzuzeigen (wie z.B. die Eigenschaft FullPath).Expand the object to see all its properties (such as the FullPath property in this example).

Beim Debuggen möchten Sie die Eigenschaftswerte für Objekte häufig schnell überprüfen. Die Datentipps stellen eine gute Methode hierfür dar.Often, when debugging, you want a quick way to check property values on objects, and the data tips are a good way to do it.

Tipp

In den meisten unterstützten Sprachen können Sie Code während einer Debugsitzung bearbeiten.In most supported languages, you can edit code in the middle of a debugging session. Weitere Informationen hierzu finden Sie unter Bearbeiten und Fortfahren.For more info, see Edit and Continue.

Untersuchen von Variablen über die Fenster „Auto“ und „Lokal“Inspect variables with the Autos and Locals windows

Sehen Sie sich das Fenster Auto während des Debuggens unten im Code-Editor an.While debugging, look at the Autos window at the bottom of the code editor.

Fenster „Auto“Autos Window

Im Fenster Auto werden Ihnen Variablen, deren Typ und der aktuelle Wert angezeigt.In the Autos window, you see variables along with their current value and their type. Im Fenster Auto werden sämtliche Variablen angezeigt, die in der aktuellen Zeile oder der vorangehenden Zeile verwendet werden (in C++ werden in den vorangehenden drei Codezeilen Variablen angezeigt.The Autos window shows all variables used on the current line or the preceding line (In C++, the window shows variables in the preceding three lines of code. In der Dokumentation finden Sie Informationen zum sprachspezifischen Verhalten).Check documentation for language-specific behavior).

Hinweis

In JavaScript wird das Fenster Lokal nicht unterstützt, das Fenster Auto jedoch schon.In JavaScript, the Locals window is supported but not the Autos window.

Sehen Sie sich als Nächstes das Fenster Lokal an.Next, look at the Locals window. Im Fenster Lokal werden Ihnen die Variablen angezeigt, die sich derzeit im Gültigkeitsbereich befinden.The Locals window shows you the variables that are currently in scope.

Fenster „Lokal“Locals Window

In diesem Beispiel befinden sich die Objekte this und f im Gültigkeitsbereich.In this example, the this object and the object f are in scope. Weitere Informationen finden Sie unter Inspect Variables in the Autos and Locals Windows (Überprüfen von Variablen in den Fenstern „Auto“ und „Lokal“).For more info, see Inspect Variables in the Autos and Locals Windows.

Festlegen von ÜberwachungSet a watch

Sie können über das Fenster Überwachung eine Variable (oder einen Ausdruck) angeben, die Sie im Auge behalten möchten.You can use a Watch window to specify a variable (or an expression) that you want to keep an eye on.

Klicken Sie während des Debuggens mit der rechten Maustaste auf ein Objekt, und wählen Sie Überwachung hinzufügen aus.While debugging, right-click an object and choose Add Watch.

Fenster „Überwachung“Watch Window

In diesem Beispiel wurde festgelegt, dass das Objekt f überwacht werden soll, und Sie können seine Wertänderung sehen, wenn Sie durch den Debugger navigieren.In this example, you have a watch set on the f object, and you can see its value change as you move through the debugger. Im Gegensatz zu den anderen Variablenfenstern werden im Fenster Überwachung immer die Variablen angezeigt, die von Ihnen überwacht werden (wenn sie außerhalb des gültigen Bereichs liegen, sind sie ausgegraut).Unlike the other variable windows, the Watch windows always show the variables that you are watching (they're grayed out when out of scope).

Weitere Informationen finden Sie unter Set a Watch using the Watch and QuickWatch Windows (Festlegen einer Überwachung mithilfe der Fenster „Überwachung“ und „Schnellüberwachung“).For more info, see Set a Watch using the Watch and QuickWatch Windows

Überprüfen der AufruflisteExamine the call stack

Klicken Sie während des Debuggens auf das Fenster Aufrufliste. Dieses Fenster ist standardmäßig im unteren rechten Bereich geöffnet.Click the Call Stack window while you are debugging, which is by default open in the lower right pane.

Untersuchen der AufruflisteExamine the Call Stack

Im Fenster Aufrufliste wird die Reihenfolge angezeigt, in der Methoden und Funktionen aufgerufen werden.The Call Stack window shows the order in which methods and functions are getting called. In der obersten Zeile wird die aktuelle Funktion (in diesem Beispiel die Update-Methode) angezeigt.The top line shows the current function (the Update method in this example). In der zweiten Zeile wird angezeigt, dass Update über die Path.set-Eigenschaft aufgerufen wurde usw.The second line shows that Update was called from the Path.set property, and so on. Die Aufrufliste bietet eine nützliche Möglichkeit zum Untersuchen und Verstehen des Ausführungsablaufs einer App.The call stack is a good way to examine and understand the execution flow of an app.

Hinweis

Das Fenster Aufrufliste ist mit der Debugperspektive in einigen IDEs wie Eclipse vergleichbar.The Call Stack window is similar to the Debug perspective in some IDEs like Eclipse.

Sie können auf eine Codezeile doppelklicken, um den Quellcode anzuzeigen. Dadurch wird auch der aktuelle Bereich geändert, der vom Debugger untersucht wird.You can double-click a line of code to go look at that source code and that also changes the current scope being inspected by the debugger. Dadurch wird der Debugger nicht weiter ausgeführt.This does not advance the debugger.

Sie können auch über die Kontextmenüs im Fenster Aufrufliste weitere Aktionen ausführen.You can also use right-click menus from the Call Stack window to do other things. So können Sie beispielsweise Breakpoints in bestimmte Funktionen einfügen, Ihre App mithilfe von Ausführen bis Cursor neu starten und Quellcode untersuchen.For example, you can insert breakpoints into specific functions, restart your app using Run to Cursor, and to go examine source code. Weitere Informationen finden Sie unter How to: Examine the Call Stack (Vorgehensweise: Untersuchen der Aufrufliste).See How to: Examine the Call Stack.

Untersuchen einer AusnahmeExamine an exception

Wenn Ihre App eine Ausnahme auslöst, springt der Debugger in die Codezeile, die diese verursacht hat.When your app throws an exception, the debugger takes you to the line of code that threw the exception.

Ausnahmen-HilfeException Helper

In diesem Beispiel zeigt die Ausnahmen-Hilfe eine System.Argument-Ausnahme und eine Fehlermeldung an, die besagt, dass der Pfad in einem ungültigen Format vorliegt.In this example, the Exception Helper shows you a System.Argument exception and an error message that says that the path is not a legal form. Es ist also bekannt, dass der Fehler bei einer Methode oder einem Funktionsargument aufgetreten ist.So, we know the error occurred on a method or function argument.

In diesem Beispiel hat der DirectoryInfo-Aufruf den Fehler für eine leere Zeichenfolge zurückgegeben, die in der value-Variable gespeichert ist.In this example, the DirectoryInfo call gave the error on the empty string stored in the value variable.

Die Ausnahmen-Hilfe ist beim Debuggen von Fehlern sehr nützlich.The Exception Helper is a great feature that can help you debug errors. Sie können zusätzlich Fehlerdetails anzeigen und eine Überwachung über die Ausnahmen-Hilfe hinzufügen.You can also do things like view error details and add a watch from the Exception Helper. Bei Bedarf können Sie die Bedingungen ändern, die zum Auslösen einer bestimmten Ausnahme führen.Or, if needed, you can change conditions for throwing the particular exception. Weitere Informationen zum Behandeln von Ausnahmen in Ihrem Code finden Sie unter Debugging techniques and tools (Debugverfahren und Tools).For more information on how to handle exceptions in your code, see Debugging techniques and tools.

Hinweis

Der Ausnahmenassistent wurde in Visual Studio 2017Visual Studio 2017 durch die Ausnahmenhilfe ersetzt.The Exception Helper replaced the Exception Assistant starting in Visual Studio 2017Visual Studio 2017.

Erweitern Sie den Knoten Ausnahmeeinstellungen, um weitere Optionen zu diesem Ausnahmetyp anzuzeigen. Für dieses Tutorial müssen Sie dort jedoch keine Änderungen vornehmen.Expand the Exception Settings node to see more options on how to handle this exception type, but you don't need to change anything for this tour!

Konfigurieren des DebuggensConfigure debugging

Sie können Ihr Projekt so konfigurieren, dass es als Debug- oder Releasekonfiguration erstellt wird, Projekteigenschaften für das Debuggen oder allgemeine Einstellungen für das Debuggen konfigurieren.You can configure your project to build as a Debug or Release configuration, configure project properties for debugging, or configure general settings for debugging. Außerdem können Sie den Debugger so konfigurieren, dass benutzerdefinierte Informationen mithilfe von Features wie dem DebuggerDisplay-Attribut oder, für C/C++, dem NatVis-Framework angezeigt werden.In addition, you can configure the debugger to display custom information using features such as DebuggerDisplay attribute or, for C/C++, the NatVis framework.

Debuggingeigenschaften sind für jeden Projekttyp spezifisch.Debugging properties are specific to each project type. Beispielsweise können Sie ein Argument angeben, das beim Start an die Anwendung übergeben werden soll.For example, you can specify an argument to pass to the application when you start it. Auf diese Konfigurationseinstellungen können Sie zugreifen, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt klicken und Eigenschaften auswählen.You can access the project-specific properties by right-clicking the project in Solution Explorer and selecting Properties. Debuggingeigenschaften werden in der Regel abhängig vom jeweiligen Projekttyp auf der Registerkarte Erstellen oder Debuggen angezeigt.Debugging properties typically appear in the Build or Debug tab, depending on the particular project type.

ProjekteigenschaftenProject properties

Debuggen von ASP.NET-Live-Apps in Azure App ServiceDebug live ASP.NET apps in Azure App Service

Der Momentaufnahmedebugger erstellt eine Momentaufnahme Ihrer Apps, die sich in der Produktion befinden, wenn Code ausgeführt wird, der für Sie relevant ist.the Snapshot Debugger takes a snapshot of your in-production apps when code that you are interested in executes. Legen Sie Andockpunkte und Protokollpunkte in Ihrem Code fest, um den Debugger anzuweisen, eine Momentaufnahme zu erstellen.To instruct the debugger to take a snapshot, you set snappoints and logpoints in your code. Der Debugger zeigt Fehler ohne Auswirkungen auf den Datenverkehr Ihrer Produktionsanwendung an.The debugger lets you see exactly what went wrong, without impacting traffic of your production application. Der Momentaufnahmedebugger kann Sie dabei unterstützen, die Zeit zum Beheben von Fehlern, die in Produktionsumgebungen auftreten, erheblich zu reduzieren.The Snapshot Debugger can help you dramatically reduce the time it takes to resolve issues that occur in production environments.

Starten des MomentaufnahmedebuggersLaunch the snapshot debugger

Die Momentaufnahmensammlung ist für ASP.NET-Apps verfügbar, die in Azure App Service ausgeführt werden.Snapshot collection is available for ASP.NET applications running in Azure App Service. ASP.NET-Apps müssen mit .NET Framework 4.6.1 oder höher ausgeführt werden, und ASP.NET Core-Apps müssen unter Windows mit .NET Core 2.0 oder höher ausgeführt werden.ASP.NET applications must be running on .NET Framework 4.6.1 or later, and ASP.NET Core applications must be running on .NET Core 2.0 or later on Windows.

Weitere Informationen finden Sie unter Debug live ASP.NET apps using the Snapshot Debugger (Debuggen von ASP.NET-Live-Apps mithilfe des Momentaufnahmedebuggers).For more information, see Debug live ASP.NET apps using the Snapshot Debugger.

Anzeigen von Momentaufnahmen mit dem IntelliTrace-Feature „Schritt zurück“ (Visual Studio Enterprise)View snapshots with IntelliTrace step-back (Visual Studio Enterprise)

Das IntelliTrace-Feature „Schritt zurück“ erstellt bei jedem Breakpoint und Debuggerschritt automatisch eine Momentaufnahme Ihrer Anwendung.IntelliTrace step-back automatically takes a snapshot of your application at every breakpoint and debugger step event. Durch die erfassten Momentaufnahmen können Sie zu vorherigen Haltepunkten oder Schritten zurückkehren und sich den Zustand der Anwendung so anzeigen lassen, wie er zuvor war.The recorded snapshots enable you to go back to previous breakpoints or steps and view the state of the application as it was in the past. Mit dem IntelliTrace-Feature „Step-back“ können Sie Zeit sparen, wenn Sie den vorherigen Zustand der Anwendung anzeigen oder diesen wiederherstellen, aber das Debuggen nicht erneut starten möchten.IntelliTrace step-back can save you time when you want to see the previous application state but don't want to restart debugging or recreate the desired app state.

Sie können Momentaufnahmen anzeigen und durch diese navigieren, indem Sie die Schaltflächen Schritt zurück und Schritt vor in der Debugsymbolleiste verwenden.You can navigate and view snapshots by using the Step Backward and Step Forward buttons in the Debug toolbar. Mit diesen Schaltflächen können Sie durch die Ereignisse navigieren, die in der Registerkarte Ereignisse des Fensters Diagnosetools angezeigt werden.These buttons navigate the events that appear in the Events tab in the Diagnostic Tools window.

Schaltflächen „Schritt zurück“ und „Schritt vorwärts“Step Backward and Forward Buttons

Weitere Informationen finden Sie auf der Seite Inspect previous app states using IntelliTrace (Untersuchen vorheriger App-Zustände mithilfe von IntelliTrace).For more information, see the Inspect previous app states using IntelliTrace page.

Debuggen von LeistungsproblemenDebug performance issues

Wenn Ihre App langsam ausgeführt wird oder zu viel Arbeitsspeicher nutzt, müssen Sie Ihre App möglicherweise frühzeitig mit den Profilerstellungstools testen.If your app runs too slowly or uses too much memory, you may need to test your app with the profiling tools early on. Weitere Informationen über Profilerstellungstools wie das CPU-Auslastungstool und des Arbeitsspeicheranalyzer finden Sie in der Einführung in Profilerstellungstools.For more information about profiling tools such as the CPU Usage tool and the Memory Analyzer, see First look at the profiling tools.

Nächste SchritteNext steps

In diesem Tutorial haben Sie einen ersten Einblick in die zahlreichen Features des Debuggers erhalten.In this tutorial, you've had a quick look at many debugger features. Vielleicht sollten Sie sich eines dieser Features genauer ansehen, z. B. Breakpoints.You may want a more in-depth look at one of these features, such as breakpoints.