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 AusgabefensterDiagnostic 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 CodeAssertions 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 BasicStop 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 FormsWalkthrough: 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-MethodeDebugging 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 ModusMixed-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 istError: 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 -DebuggenJIT Optimization and Debugging
Beschreibt die Auswirkungen der JIT-Optimierung auf das Debuggen.Describes the effects of JIT optimization on debugging.

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

Exemplarische Vorgehensweise: Debuggen einer parallelen AnwendungWalkthrough: 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.

IntelliTraceIntelliTrace
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 AnwendungenTracing 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-DienstanwendungenDebugging 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 ProfilerstellungDebugging 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 WebanwendungenDebugging 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