Debuggen von verwaltetem CodeDebugging Managed Code

In diesem Abschnitt werden die häufigsten Probleme beim Debuggen sowie Verfahrensweisen für verwaltete Anwendungen bzw. Anwendungen erörtert, die in Sprachen für die Common Language Runtime geschrieben wurden, z. B. Visual Basic, C# und C++.This section covers common debugging problems and techniques for managed applications, or applications written in languages that target the common language runtime, such as Visual Basic, C#, and C++. Die in diesem Abschnitt behandelten Verfahren setzen Programmiererfahrung voraus.The techniques described here are high-level techniques. Erster Einblick in den Debugger.First look at the debugger.

In diesem AbschnittIn This Section

Diagnosemeldungen im Ausgabefenster\Diagnostic Messages in the Output Window\ Erläutert die Debug-Klasse und die Trace-Klasse, mit denen Sie Laufzeitmeldungen ins Ausgabefenster schreiben können.Describes the Debug and Trace classes, with which you can write run-time messages to the Output window. Die in diesen Klassen enthaltenen Ausgabemethoden ermöglichen die Datenausgabe, ohne die Ausführung zu unterbrechen, sowie die Datenausgabe mit Unterbrechung der Ausführung, wenn eine bestimmte Bedingung nicht erfüllt ist.These classes include output methods that enable information output without breaking execution and information output that also breaks execution if a specified condition fails.

Assertionen in verwaltetem Code\Assertions in Managed Code\ Hier werden Assertionen in verwaltetem Code beschrieben. Diese testen Bedingungen, die Sie als Argumente für Assert-Methoden angeben.Describes assertions in managed code, which test conditions that you specify as arguments to Assert methods. Sie finden in diesem Abschnitt außerdem Beispielcode, Informationen zum Verwenden der Debug-Klassenmethode und der Trace-Klassenmethode, zur Debug- und zur Releaseversion von Code, Nebeneffekten, Assert-Argumenten, dem Anpassen des Assert-Verhaltens und zu Konfigurationsdateien.In addition, this topic provides example code, information on using Debug and Trace class methods, considerations in Debug and Release versions of code, side effects, assert arguments, customizing assert behavior, and configuration files.

Stop-Anweisungen in Visual Basic\Stop Statements in Visual Basic\ Hier wird die Stop-Anweisung beschrieben, die eine Alternative zum Festlegen eines Haltepunkts bietet.Describes the Stop statement, which provides an alternative to setting a breakpoint. Sie finden hier außerdem Beispielcode sowie Vergleiche zwischen der Stop-Anweisung und der End-Anweisung sowie zwischen der Stop-Anweisung und der Assert-Anweisung.Example code is also provided, along with comparisons between the Stop statement and the End statement, as well as between Stop and the Assert statement.

Exemplarische Vorgehensweise: Debuggen eines Windows Forms\Walkthrough: Debugging a Windows Form\ Hier finden Sie Schritt-für-Schritt-Anweisungen zum Erstellen eines Windows Forms und zum Debuggen dieses Formulars.Gives step-by-step instructions for creating a Windows Form and debugging that form. Ein Windows Form, eine Standardkomponente verwalteter Windows-Anwendungen, ist eine der am häufigsten verwendeten verwalteten Anwendungen.A Windows Form, a standard component of a managed Windows application, is one of the most common managed applications. In dieser exemplarischen Vorgehensweise werden Visual C# und Visual Basic verwendet, die Verfahrensweisen zum Erstellen eines Windows Forms mit C++ sind jedoch grundsätzlich vergleichbar.This walkthrough uses Visual C# and Visual Basic, but the techniques for creating a Windows form with C++ are generally similar.

Debuggen der OnStart-Methode\Debugging the OnStart Method\ Dieser Abschnitt enthält Codebeispiele zum Debuggen der OnStart-Methode eines verwalteten Windows-Diensts.Provides code examples to allow you to debug the OnStart method of a managed Windows service. Um die OnStart-Methode eines Windows-Diensts zu debuggen, müssen Sie ein paar Codezeilen hinzufügen, mit denen der Dienst simuliert wird.To debug the OnStart method of a Windows service, you must add a few lines of code to simulate the service.

Debuggen im gemischten Modus\Mixed-Mode Debugging\ Erörtert das Debuggen von Anwendungen im gemischten Modus.Discusses debugging mixed-mode applications. Dies sind alle Anwendungen, die nativen Code mit verwaltetem Code kombinieren.This means any application that combines native code with managed code.

Fehler: Debuggen ist nicht möglich, da ein Kerndebugger auf dem System aktiviert ist\Error: Debugging isn't possible because a kernel debugger is enabled on the system\ In diesem Abschnitt wird eine Fehlermeldung beschrieben, die auftritt, wenn Sie versuchen, verwalteten Code auf einem Windows 7Windows 7-, Windows VistaWindows Vista-, Windows XPWindows XP-, Windows 2000Windows 2000- oder Windows NT-System zu debuggen, das im Debugmodus gestartet wurde.Describes an error message that occurs if you try to debug managed code on a Windows 7Windows 7, Windows VistaWindows Vista, Windows XPWindows XP, Windows 2000Windows 2000, or Windows NT system that has been started in debug mode.

JIT-Optimierung und -Debuggen\JIT Optimization and Debugging\ Beschreibt die Auswirkungen der JIT-Optimierung auf das Debuggen.Describes the effects of JIT optimization on debugging.

Debuggen von LINQ und DLINQ\Debugging LINQ and DLINQ\ Erörtert Verfahren zum Debuggen von LINQ-Abfragen.Discusses techniques for debugging LINQ queries.

Exemplarische Vorgehensweise: Debuggen einer parallelen Anwendung\Walkthrough: Debugging a Parallel Application\ Beschreibt, wie die Toolfenster Parallele Aufgaben und Parallele Stapel zum Debuggen einer parallelen Anwendung verwendet werden.Describes how to use the Parallel Tasks and Parallel Stacks tool windows to debug a parallel application.

IntelliTrace\IntelliTrace\ Fehler werden einfacher und schneller gefunden, da der Ausführungsverlauf mit IntelliTrace aufgezeichnet wird.Find bugs faster and easier by recording your app's execution history with IntelliTrace. Sehen Sie sich die aufgezeichneten Ereignisse und Aufrufe sorgfältig an, um den Zustand der Anwendung zu wichtigen Zeitpunkt zu überprüfen.Step backward and forward through recorded events and calls to examine your app's state at key points in time. Debuggen Sie den Code, ohne viele Haltepunkte festzulegen oder Ihre Anwendung häufig neu zu starten.Debug your code without setting lots of breakpoints or restarting your app as frequently. Ist Visual Studio Enterprise erforderlich.Requires Visual Studio Enterprise.

Ablaufverfolgung und Instrumentieren von Anwendungen\Tracing and Instrumenting Applications\ Hier werden die Ablaufverfolgung (eine Methode zum Überwachen der Ausführung einer Anwendung) und die Instrumentation (das Platzieren von Ablaufverfolgungsanweisungen an strategischen Stellen im Code) beschrieben.Describes tracing, a way for you to monitor the execution of your application while it is running, and instrumenting, which involves placing trace statements at strategic locations in your code. Die Links in diesem Abschnitt bringen Sie zu den folgenden Themen: Einführung in die Instrumentation und die Ablaufverfolgung, Ablaufverfolgungsschalter, Ablaufverfolgungslistener, Ablaufverfolgung für Code in einer Anwendung, Hinzufügen von Ablaufverfolgungsanweisungen zu Anwendungscode und bedingte Kompilierung mit Debug und Trace.This topic also provides links to an introduction to instrumentation and tracing, trace switches, trace listeners, tracing code in an application, adding trace statements to application code, and compiling conditionally with Debug and Trace.

/ASSEMBLYDEBUG\/ASSEMBLYDEBUG\ Beschreibt eine Linkeroption, die DebuggableAttribute mit C++ geschriebenem Code hinzufügt.Describes a linker option that adds DebuggableAttribute to code written with C++. Dieses Attribut wird für die Verwendung von Debugfeatures, wie das Anhängen, mit C++ benötigt.This attribute is needed to use debugging features such as attach with C++.

Debuggen von Windows-Dienstanwendungen\Debugging Windows Service Applications\ Hier finden Sie Hinweise zum Debuggen von Windows-Dienstanwendungen, z. B. zum Einrichten, Anhängen an den Prozess, Debuggen des Codes in der OnStart-Methode des Diensts und in der Main-Methode, zum Festlegen von Haltepunkten sowie zum Verwenden des Dienststeuerungs-Managers zum Starten, Beenden, Anhalten und Fortsetzen eines Diensts.Provides considerations for debugging Windows service applications, including setting up, attaching to the process, debugging the code in the service's OnStart method and the code in the Main method, setting breakpoints, and using the Services Control Manager to start, stop, pause, and continue your service.

Debuggen und Profilerstellung\Debugging and Profiling\ Hier werden das Debuggen von .NET Framework-Anwendungen sowie die Konfigurationsanforderungen beschrieben.Discusses debugging .NET Framework applications and the configuration requirements.

Debuggen von Skript- und Webanwendungen\Debugging Script and Web Applications\ Beschreibt allgemeine Probleme und Verfahren, die beim Debuggen von Skript- und Webanwendungen auftreten können.Describes common debugging problems and techniques you may encounter when debugging script and Web applications.

Siehe auchSee also