Der CRT-Debugheap
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. |
Dieser Abschnitt umfasst eine detaillierte Erläuterung des CRT‑Debugheaps.
In diesem Abschnitt
Speicherverwaltung und Debugheap
Hier werden die Debugversionen von Heapfunktionen beschrieben. Durch diese Funktionen werden zwei der schwierigsten Speicherreservierungsprobleme behoben: das Überschreiben eines reservierten Pufferendes und Speicherverluste (wobei nicht mehr benötigte Reservierungen nicht mehr freigegeben werden können).Blocktypen auf dem Debugheap
Hier werden die fünf Reservierungstypen beschrieben, denen Speicherblöcke im Debugheap zugewiesen werden. Die Reserverierungstypen werden abhängig von der jeweiligen Aufgabe, z. B. Erkennung von Speicherverlusten und Erstellung von Zustandsberichten, auf unterschiedliche Weise nachverfolgt und ausgegeben.Der Debugheap
Enthält Informationen zur Verwendung des Debugheaps. Behandelte Themen: Welche Aufrufe werden zu Debugversionen aufgelöst, was geschieht, wenn ein Speicherblock freigegeben wird, auf welche Debugfeatures muss innerhalb des Codes zugegriffen werden, das Ändern des _crtDbgFlag-Bitfelds zum Erstellen eines neuen Flagzustands sowie ein Codebeispiel, das die Aktivierung der automatischen Speicherverlusterkennung und das Deaktivieren der _CRT_BLOCK-Prüfung veranschaulicht.Der Debugheap in C++
Hier werden die Debugversionen der C++Operatoren new und delete sowie die Auswirkungen der Verwendung von _CRTDBG_MAP_ALLOC beschrieben.Berichtsfunktionen für den Heapzustand
Hier wird die _CrtMemState-Struktur erläutert, mit der Sie einen zusammenfassenden Snapshot des Heapzustands aufzeichnen können. In diesem Abschnitt werden außerdem die CRT-Funktionen aufgelistet, die den Heapzustand und -inhalt dokumentieren sowie Speicherverluste und andere Probleme erkennen.Nachverfolgen von Heapreservierungsanforderungen
Hier werden Möglichkeiten aufgezeigt, wie Sie den speziellen Heapreservierungsaufruf ermitteln, bei dem ein Fehler auftrat.
Verwandte Abschnitte
- 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.