_CrtSetDumpClient
Installiert eine anwendungsdefinierte Funktion, zum Ausgeben von _CLIENT_BLOCK-Typspeicherblöcken (nur Debugversion).
_CRT_DUMP_CLIENT _CrtSetDumpClient(
_CRT_DUMP_CLIENT dumpClient
);
Parameter
- dumpClient
Die neue clientdefinierte Speicherabbildfunktion, die mit dem Debug-Speicherabbildprozess der C-Laufzeit verknüpft werden soll.
Rückgabewert
Gibt die zuvor definierte Client-Blockdumpfunktion zurück.
Hinweise
Die _CrtSetDumpClient-Funktion ermöglicht es der Anwendung, eine eigene Funktion für Dumpobjekte, die in _CLIENT_BLOCK-Speicherblöcken gespeichert sind, mit dem Debug-Speicherabbildprozess der C-Laufzeit zu verknüpfen. Wenn eine Debugdumpfunktion wie _CrtMemDumpAllObjectsSince oder _CrtDumpMemoryLeaks einen _CLIENT_BLOCK-Speicherblock ausgibt, wird die Dumpfunktion der Anwendung daher ebenfalls 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 nicht definiert ist, werden Aufrufe von _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 _CLIENT_BLOCK-Typspeicherblöcke verarbeiten, finden Sie unter Hookfunktionen für Clientblöcke. Die _CrtReportBlockType-Funktion kann zum Zurückgeben von Informationen zu Blocktypen und -untertypen verwendet werden.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_CrtSetDumpClient |
<crtdbg.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Bibliotheken
Nur Debugversionen von C-Laufzeitbibliotheken.
.NET Framework-Entsprechung
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.