Schreiben von Hookfunktionen zum Debuggen

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 wird eine Reihe von benutzerdefinierten Hookfunktionen zum Debuggen beschrieben, mit denen Code an vordefinierten Punkten in die normalen Verarbeitungsschritte des Debuggers eingefügt werden kann.

In diesem Abschnitt

  • Hookfunktionen für Clientblöcke
    Enthält Anweisungen sowie einen Prototyp für das Schreiben von Funktionen, mit denen der Inhalt der Daten, die in _CLIENT_BLOCK-Blöcken gespeichert werden, überprüft oder dokumentiert wird.

  • Hookfunktionen für Reservierungen
    Enthält eine Beschreibung einer Reservierungshookfunktion und deren unterschiedlichen Verwendungen, Hinweise auf Beschränkungen sowie einen Prototyp.

  • Reservierungshooks und CRT-Speicherreservierungen
    In diesem Abschnitt wird die für Reservierungshookfunktionen anwendbare Beschränkung beschrieben, nach der _CRT_BLOCK-Blöcke explizit ignoriert werden, wenn sie C-Laufzeitbibliotheksfunktionen aufrufen, durch die interner Speicher reserviert wird. Hier wird außerdem beschrieben, welche Konsequenzen es hat, wenn der Reservierungshook _CRT_BLOCK-Blöcke nichtignoriert (einschließlich Beispielen), und wie Sie die standardmäßige CrtDefaultAllocHook-Reservierungshookfunktion ändern.

  • Hookfunktionen für Berichte
    Hier wird die _CrtSetReportHook-Funktion beschrieben, mit der Sie Berichte nach bestimmten Reservierungstypen filtern können. In diesem Thema finden Sie außerdem einen Prototyp.

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.