Freigeben über


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

Vorgehensweise: 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 Aufspüren von Fehlern, die nur bei optimiertem Code auftreten (Aktivieren der Optimierung in einer Debug-Buildkonfiguration).

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.

Vorgehensweise: Debuggen von Inline-Assemblycode: Hier finden Sie kurze Anleitungen zum Anzeigen von Assemblyanweisungen im Fenster „Disassemblierung“ und zum Anzeigen von Registerinhalten im Fenster „Register“. Außerdem finden Sie hier 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 Verkleinern 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.

Vorgehensweise: 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 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 DLL-Projekten: Dieser Abschnitt enthält Informationen zum Debuggen von nativen und verwalteten DLLs.

Erster Einblick in den Debugger: Hier finden Sie 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.