_CrtSetDumpClient

Installiert eine anwendungsdefinierte Funktion, zum Ausgeben von _CLIENT_BLOCK-Typspeicherblöcken (nur Debugversion).

Syntax

_CRT_DUMP_CLIENT _CrtSetDumpClient( _CRT_DUMP_CLIENT dumpClient );

Parameter

dumpClient
Neue clientdefinierte Speicherabbildfunktion zum Hook.

Rückgabewert

Gibt die zuvor definierte Client-Blockdumpfunktion zurück.

Hinweise

Die _CrtSetDumpClient Funktion ermöglicht es der Anwendung, eine eigene Funktion zum Abbilden von Objekten zu verbinden, die in _CLIENT_BLOCK Speicherblöcken gespeichert sind. Daher wird jedes Mal, wenn eine Debugabbildfunktion wie _CrtMemDumpAllObjectsSince z _CrtDumpMemoryLeaks . B. einen _CLIENT_BLOCK Speicherblock abbildet, auch die Dumpfunktion der Anwendung aufgerufen. _CrtSetDumpClient stellt für eine Anwendung eine einfache Methode zum Erkennen von Speicherverlusten und zum Überprüfen oder Übermitteln des Inhalts der Daten bereit, die in _CLIENT_BLOCK-Blöcken gespeichert sind. Wenn _DEBUG sie nicht definiert ist, werden die Aufrufe _CrtSetDumpClient während der Vorverarbeitung entfernt.

Die _CrtSetDumpClient-Funktion installiert die neue anwendungsdefinierte Dumpfunktion, die in dumpClient angegeben ist, und gibt die zuvor definierte Dumpfunktion zurück. Beispiel einer Client-Blockdumpfunktion:

void DumpClientFunction( void *userPortion, size_t blockSize );

Das userPortion-Argument ist ein Zeiger auf den Anfang des Benutzerdatenteils des Speicherblocks, und blockSize gibt die Größe des belegten Speicherblocks in Bytes an. Die Client-Blockdumpfunktion muss void zurückgeben. Der Zeiger zur Clientdumpfunktion, der an _CrtSetDumpClient übergeben wird, ist vom Typ _CRT_DUMP_CLIENT, wie in "Crtdbg.h" definiert:

typedef void (__cdecl *_CRT_DUMP_CLIENT)( void *, size_t );

Weitere Informationen zu Funktionen, die auf _CLIENT_BLOCK Typspeicherblöcken arbeiten, finden Sie unter Clientblock-Hook-Funktionen. Die _CrtReportBlockType Funktion kann verwendet werden, um Informationen zu Blocktypen und Untertypen zurückzugeben.

Anforderungen

Routine Erforderlicher Header
_CrtSetDumpClient <crtdbg.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Bibliotheken

Nur Debugversionen von C-Laufzeitbibliotheken

Siehe auch

Debugroutinen
_CrtReportBlockType
_CrtGetDumpClient