_CrtDumpMemoryLeaks_CrtDumpMemoryLeaks

Legt alle Speicherblöcke im Debugheap ab, wenn ein Speicherverlust aufgetreten ist (nur Debugversion).Dumps all the memory blocks in the debug heap when a memory leak has occurred (debug version only).

SyntaxSyntax


int _CrtDumpMemoryLeaks( void );

RückgabewertReturn Value

_CrtDumpMemoryLeaks gibt true zurück, wenn ein Speicherlecks gefunden wird._CrtDumpMemoryLeaks returns TRUE if a memory leak is found. Andernfalls gibt die Funktion FALSE zurück.Otherwise, the function returns FALSE.

HinweiseRemarks

Die _CrtDumpMemoryLeaks -Funktion bestimmt, ob seit dem Start der Programmausführung ein Speicherfehler aufgetreten ist.The _CrtDumpMemoryLeaks function determines whether a memory leak has occurred since the start of program execution. Wenn ein Verlust erkannt wird, werden die Debugheaderinformationen für alle Objekte im Heap in einer für den Benutzer lesbaren Form ausgegeben.When a leak is found, the debug header information for all the objects in the heap is dumped in a user-readable form. Wenn _DEBUG nicht definiert ist, werden Aufrufe von _CrtDumpMemoryLeaks während der Vorverarbeitung entfernt.When _DEBUG is not defined, calls to _CrtDumpMemoryLeaks are removed during preprocessing.

_CrtDumpMemoryLeaks wird häufig am Ende der Programmausführung aufgerufen, um zu überprüfen, ob der gesamte von der Anwendung zugewiesene Arbeitsspeicher freigegeben wurde._CrtDumpMemoryLeaks is frequently called at the end of program execution to verify that all memory allocated by the application has been freed. Die-Funktion kann bei der Programm Beendigung automatisch aufgerufen werden, indem das _CRTDBG_LEAK_CHECK_DF -Bitfeld des _crtDbgFlag -Flags mithilfe der _CrtSetDbgFlag -Funktion eingeschaltet wird.The function can be called automatically at program termination by turning on the _CRTDBG_LEAK_CHECK_DF bit field of the _crtDbgFlag flag using the _CrtSetDbgFlag function.

_CrtDumpMemoryLeaks ruft _CrtMemCheckpoint auf, um den aktuellen Zustand des Heaps abzurufen, und scannt dann den Zustand auf Blöcke, die nicht freigegeben wurden._CrtDumpMemoryLeaks calls _CrtMemCheckpoint to obtain the current state of the heap and then scans the state for blocks that have not been freed. Wenn ein nicht frei gegebener Block gefunden wird, ruft _CrtDumpMemoryLeaks _CrtMemDumpAllObjectsSince auf, um Informationen für alle Objekte zu sichern, die vom Beginn der Programmausführung im Heap zugeordnet wurden.When an unfreed block is encountered, _CrtDumpMemoryLeaks calls _CrtMemDumpAllObjectsSince to dump information for all the objects allocated in the heap from the start of program execution.

Standardmäßig sind interne C-Lauf Zeitblöcke ( _CRT_BLOCK) nicht in Speicher Abbild Vorgängen enthalten.By default, internal C run-time blocks (_CRT_BLOCK) are not included in memory dump operations. Die _CrtSetDbgFlag -Funktion kann zum Aktivieren des _CRTDBG_CHECK_CRT_DF -Bits von _crtDbgFlag verwendet werden, um diese Blöcke in den Prozess zur Erkennung von Lecks einzubeziehen.The _CrtSetDbgFlag function can be used to turn on the _CRTDBG_CHECK_CRT_DF bit of _crtDbgFlag to include these blocks in the leak detection process.

Weitere Informationen zu Heap Zustands Funktionen und der _CrtMemState -Struktur finden Sie unter Heap State Reporting Functions.For more information about heap state functions and the _CrtMemState structure, see 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.For more information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see CRT Debug Heap Details.

AnforderungenRequirements

-Routine zurückgegebener WertRoutine Erforderlicher HeaderRequired header
_CrtDumpMemoryLeaks_CrtDumpMemoryLeaks <crtdbg.h><crtdbg.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.For more compatibility information, see Compatibility.

BibliothekenLibraries

Nur Debugversionen von C-Laufzeitbibliotheken.Debug versions of C run-time libraries only.

BeispielExample

Ein Beispiel für die Verwendung von _CrtDumpMemoryLeaksfinden Sie unter crt_dbg1.For a sample of how to use _CrtDumpMemoryLeaks, see crt_dbg1.

Siehe auchSee also

DebugroutinenDebug Routines