_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
sie nicht definiert ist, werden die Aufrufe _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 zu Heap-Zustandsfunktionen und der _CrtMemState
Struktur finden Sie unter Heap-Statusberichtsfunktionen. Weitere Informationen dazu, wie Speicherblöcke in der Debugversion des Basis heap 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.
Bibliotheken
Nur Debugversionen von C-Laufzeitbibliotheken
Beispiel
Ein Beispiel für die Verwendung _CrtDumpMemoryLeaks
finden Sie unter crt_dbg1
.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für