Debuggen von systemeigenem Code

In diesem Abschnitt werden einige allgemeine Debugprobleme und -verfahren für systemeigene Anwendungen erörtert. Bei den in diesem Abschnitt behandelten Verfahren wird Programmiererfahrung vorausgesetzt. Informationen zur Verwendung des Visual Studio-Debuggers finden Sie unter Ein erster Blick auf den Visual Studio-Debugger.

In diesem Abschnitt

How to: Debug Optimized Code (Debuggen von optimiertem Code): Dieser Artikel enthält Tipps für das Debuggen von optimiertem Code. Dabei wird erläutert, warum Sie eine nicht optimierte Version eines Programms debuggen sollten. Außerdem wird auf Standardoptimierungseinstellungen für die Debug- und Releasekonfiguration eingegangen sowie auf das Finden von Fehlern, die nur bei optimiertem Code auftreten (Aktivieren der Optimierung in einer Debugbuildkonfiguration).

DebugBreak und "_debugbreak": Hier finden Sie eine Beschreibung der Win32-Funktion DebugBreak sowie einen Link zum betreffenden Referenzthema im Plattform-SDK. Dort wird auch die systeminterne Funktion __debugbreak beschrieben.

C-/C++-Assertionen: Hier werden Assertionsanweisungen, ihre Funktionsweise, die Vorteile ihrer Verwendung (Erfassen von Logikfehlern, Überprüfen der Ergebnisse von Vorgängen und Testen von Fehlerzuständen) sowie die Interaktion dieser Anweisungen mit _DEBUG und die in Visual Studio unterstützten Assertionstypen beschrieben.

How to: Debug Inline Assembly Code (Debuggen von Inline-Assemblycode): Hier finden Sie kurze Anleitungen zur Verwendung des Disassemblierungsfensters zum Anzeigen von Assemblyanweisungen und des Fensters „Register“ zum Anzeigen von Registerinhalten sowie Links zu Artikeln über diese Fenster.

MFC-Debugverfahren: Dieser Artikel enthält Links zu Debugtechniken für MFC-Programme, darunter afxDebugBreak, das TRACE-Makro, das Erkennen von Arbeitsspeicherverlust in MFC, MFC-Assertionen und das Verringern der Größe von MFC-Debugbuilds.

CRT-Debugverfahren: Dieser Artikel enthält Links zu Debugtechniken für die C-Laufzeitbibliothek, darunter das Verwenden der CRT-Debugbibliothek, Makros für die Berichterstellung, Unterschiede zwischen malloc und _malloc_dbg, das Schreiben von Hookfunktionen für das Debuggen und der CRT-Debugheap.

FAQs zum Debuggen von nativem Code: Dieser Artikel enthält Antworten auf häufig gestellte Fragen zum Debuggen von C++-Programmen.

Debuggen von COM und ActiveX: Dieser Artikel enthält Informationen zum Debuggen von COM- und ActiveX-Anwendungen, einschließlich der Tools, die für das Debuggen von COM und ActiveX verwendet werden können.

How to: Debug Injected Code (Debuggen von eingefügtem Code): Dieser Artikel enthält Hinweise zum Debuggen von Code, in dem Attribute verwendet werden. Zu den behandelten Themen gehören das Aktivieren von Quellcodeanmerkungen, das Anzeigen von eingefügtem Code sowie das Anzeigen des Disassemblycodes am aktuellen Ausführungspunkt.

Exemplarische Vorgehensweise: Debuggen einer parallelen Anwendung in Visual Studio (C#, Visual Basic, C++): In diesem Artikel wird beschrieben, wie Sie eine parallele Anwendung mithilfe der Toolfenster Parallele Aufgaben und Parallele Stapel debuggen.

Vorbereitung des Debugvorgangs: C++-Projekttypen: Dieser Abschnitt enthält Links zu Artikeln über das Debuggen der von den C++-Projektvorlagen erstellten nativen Projekttypen.

Debuggen von DLLs in Visual Studio (C#, C++, Visual Basic, F#): Dieser Abschnitt enthält Informationen zum Debuggen von nativen und verwalteten DLLs.

Erster Einblick in den Debugger enthält Links zu den ausführlicheren Abschnitten der Debugdokumentation. Die Informationen umfassen: Neues im Debugger, Einstellungen und Vorbereitung, Haltepunkte, Ausnahmebehandlung, Bearbeiten und Fortfahren, Debuggen von verwaltetem Code, Debuggen von nativem Code, Debuggen von SQL sowie Referenzen zur Benutzeroberfläche.