_CrtDumpMemoryLeaks
Legt alle Speicherblöcke im Debugheap ab, wenn ein Speicherverlust aufgetreten ist (nur Debugversion).
Syntax
int _CrtDumpMemoryLeaks( void );
Rückgabewert
_CrtDumpMemoryLeaks
gibt zurück TRUE
, wenn ein Speicherverlust gefunden wird. Andernfalls wird von der Funktion FALSE
zurückgegeben.
Hinweise
Die _CrtDumpMemoryLeaks
-Funktion bestimmt, ob seit dem Beginn der Programmausführung ein Speicherverlust aufgetreten ist. Wenn ein Verlust erkannt wird, werden die Debugheaderinformationen für alle Objekte im Heap in einer für den Benutzer lesbaren Form ausgegeben. Wenn _DEBUG
nicht definiert ist, werden Aufrufe von _CrtDumpMemoryLeaks
während der Vorverarbeitung entfernt.
_CrtDumpMemoryLeaks
wird häufig am Ende der Programmausführung aufgerufen, um zu überprüfen, ob sämtlicher Speicher, der von der Anwendung belegt wird, freigegeben wurde. Die Funktion kann beim Beenden des Programms automatisch aufgerufen werden, indem sie das _CRTDBG_LEAK_CHECK_DF
Bitfeld der Kennzeichnung mithilfe der _CrtSetDbgFlag
_crtDbgFlag
Funktion einschalten.
_CrtDumpMemoryLeaks
Aufrufe _CrtMemCheckpoint
zum Abrufen des aktuellen Zustands des Heaps und scannen dann den Zustand nach Blöcken, die nicht freigegeben wurden. Wenn ein nicht erneuter Block gefunden wird, werden Aufrufe _CrtMemDumpAllObjectsSince
zum Abbilden von Informationen für alle Objekte, die dem Heap zugeordnet sind, _CrtDumpMemoryLeaks
vom Anfang der Programmausführung aus abgerufen.
Standardmäßig sind interne C-Laufzeitblöcke (_CRT_BLOCK
) nicht in Speicherabbildvorgängen enthalten. Die _CrtSetDbgFlag
Funktion kann zum Aktivieren des _CRTDBG_CHECK_CRT_DF
Bits _crtDbgFlag
verwendet werden, um diese Blöcke in den Leckerkennungsprozess einzuschließen.
Weitere Informationen über Heapzustandsfunktionen und die _CrtMemState
-Struktur finden Sie unter Heap State Reporting Functions. Weitere Informationen darüber, wie Speicherblöcke in der Debugversion des Basisheaps zugeordnet, initialisiert und verwaltet werden, finden Sie unter CRT Debug Heap Details.
Anforderungen
Routine | Erforderlicher Header |
---|---|
_CrtDumpMemoryLeaks |
<crtdbg.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Libraries
Nur Debugversionen von C-Laufzeitbibliotheken
Beispiel
Ein Beispiel für die Verwendung _CrtDumpMemoryLeaks
finden Sie unter crt_dbg1
.