Freigeben über


Der CRT-Debugheap

Dieses Thema gilt für folgende Anwendungsbereiche:

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

Thema ist nicht vorhanden Thema ist nicht vorhanden Thema ist nicht vorhanden

Nur "Systemeigen"

Thema ist nicht vorhanden

Pro, Premium und Ultimate

Thema ist nicht vorhanden Thema ist nicht vorhanden Thema ist nicht vorhanden

Nur "Systemeigen"

Thema ist nicht vorhanden

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 Speicherbelegungsprobleme behoben: das Überschreiben eines reservierten Pufferendes und Speicherverluste (wobei nicht mehr benötigte Belegungen nicht mehr freigegeben werden können).

  • Blocktypen auf dem Debugheap
    Hier werden die fünf Reservierungsstypen beschrieben, denen Speicherblöcke im Debugheap zugewiesen werden. Die Reservierungstypen 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 eine zusammenfassende Momentaufnahme 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.