Debuggen von systemeigenem Code
Aktualisiert: November 2007
Dieses Thema gilt für folgende Anwendungsbereiche:
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
Nur "Systemeigen" |
|||
Standard |
Nur "Systemeigen" |
|||
Pro und Team |
Nur "Systemeigen" |
Tabellenlegende:
Vorhanden |
|
Nicht vorhanden |
|
Befehl oder Befehle, die standardmäßig ausgeblendet sind. |
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 zum Verwenden des Visual Studio-Debuggers finden Sie unter Debuggerwegweiser.
In diesem Abschnitt
Gewusst wie: Debuggen von optimiertem Code
Enthält Tipps zum Debuggen optimierten Codes, im Einzelnen werden das Debuggen einer nicht optimierten Version eines Programms beschrieben, Standardoptimierungseinstellungen für Debug- und Releasekonfigurationen und das Auffinden von Fehlern, die nur in optimiertem Code vorkommen (Aktivieren der Optimierung in einer Debugbuildkonfiguration).DebugBreak und "_debugbreak"
Hier finden Sie eine Beschreibung der Win32‑DebugBreak-Funktion sowie einen Link zum betreffenden Referenzthema im Plattform SDK. Dort wird auch die systeminterne Funktion __debugbreak beschrieben.Assertionen
Hier werden Assertionsanweisungen, deren Funktionsweise, die Vorteile ihrer Verwendung (Erfassen von Logikfehlern, Überprüfen der Ergebnisse einer OPeration, Testen von Fehlerzuständen), die Interaktion von Assertionsanweisungen mit _DEBUG sowie die in Visual Studio unterstützten Assertionstypen beschrieben.Speicherverlusterkennung und -isolation
In diesem Abschnitt werden Speicherverluste beschrieben und Hyperlinks zu Themen über die Tools im Debugger, in der C‑Laufzeitbibliothek und in MFC zum Ermitteln von Speicherverlusten angeboten. Unter den Links finden Sie Informationen zu folgenden Themen: Aktivieren der Speicherverlusterkennung, Interpretieren von Speicherblocktypen, Setzen eines Haltepunkts für eine Speicherreservierungsnummer, Vergleichen von Arbeitsspeicherzuständen und Erkennen von Speicherverlusten in MFC.Gewusst wie: Debuggen von Inline-Assemblycode
Hier finden Sie kurze Anweisungen zur Verwendung des Disassemblierungsfensters, in dem Assemblyanweisungen angezeigt werden, und des Fensters Register, in dem Registerinhalte angezeigt werden, sowie Hyperlinks zu Themen über diese Fenster.MFC-Debugverfahren
Enthält Links zu Debugtechniken für MFC‑Programme, darunter afxDebugBreak, das TRACE-Makro, Erkennen von Speicherverlusten in MFC, MFC‑Assertionen und Verringern der Größe eines MFC‑Debugbuilds.CRT-Debugverfahren
Enthält Links zu Debugtechniken für die C-Laufzeitbibliothek, darunter Verwenden der CRT-Debugbibliothek, Makros für die Berichterstellung, Unterschiede zwischen malloc und _malloc_dbg, Schreiben von Hookfunktionen für das Debuggen und CRT-Debugheap.FAQs zum Debuggen von systemeigenem Code
Bietet Antworten auf häufig gestellte Fragen zum Debuggen von Visual C++-ProgrammenDebuggen von COM und ActiveX
Bietet 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.Gewusst wie: Debuggen von DLLs
Erläutert das Einrichten des Debuggens für DLLs aus systemeigenem Code.Gewusst wie: Debuggen von eingefügtem Code
Bietet 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.
Verwandte Abschnitte
Vorbereitung zum Debuggen: Visual C++-Projekttypen
Enthält Hyperlinks zu Themen über das Debuggen systemeigener Projekttypen, die durch die Visual C++-Projektvorlagen erstellt werden.Debuggen in Visual Studio
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 systemeigenem Code, Debuggen von SQL sowie Referenzen zur Benutzeroberfläche.