Freigeben über


_CrtDumpMemoryLeaks

Speichert alle Speicherblöcke im Debugheap, wenn ein Speicherverlust aufgetreten ist (nur Debugversion).

int _CrtDumpMemoryLeaks( void );

Rückgabewert

_CrtDumpMemoryLeaks gibt TRUE zurück, wenn ein Speicherverlust gefunden wird.Andernfalls gibt die Funktion FALSE zurück.

Hinweise

Die _CrtDumpMemoryLeaks-Funktion bestimmt, ob ein Speicherverlust seit dem Beginn der Programmausführung erfolgt ist.Wenn ein Verlust gefunden wird, wird die Headerinformationen Debuggen für alle Objekte im Heap in einer USER-lesbaren Form gesichert.Wenn _DEBUG nicht definiert wird, werden Aufrufe _CrtDumpMemoryLeaks während des Präprozessorlaufs entfernt.

_CrtDumpMemoryLeaks am Ende der Programmausführung wird häufig aufgerufen, um zu überprüfen, dass der gesamte Speicherplatz, der von der Anwendung zugeordnet ist, freigegeben wurde.Die Funktion kann an der Programm kündigung automatisch aufgerufen werden, indem das _CRTDBG_LEAK_CHECK_DF Bitfeld des _crtDbgFlag-Flags mithilfe der _CrtSetDbgFlag-Funktion einschaltet.

_CrtDumpMemoryLeaks ruft _CrtMemCheckpoint angegeben, um den aktuellen Zustand des Heaps und überprüft dann den Zustand für Blöcke nicht freigegeben wurden.Wenn ein unfreed - Block auftritt, ruft _CrtDumpMemoryLeaks_CrtMemDumpAllObjectsSince an, um Informationen für alle Objekte zu speichern, die vom Beginn im Heap der Programmausführung zugeordnet sind.

Standardmäßig werden interne C-Laufzeit-Blöcke (_CRT_BLOCK) - Vorgänge nicht in den Speicherabbild enthalten.Die _CrtSetDbgFlag-Funktion kann verwendet werden, um das _CRTDBG_CHECK_CRT_DF Bit von _crtDbgFlag zu aktivieren, um diese Blöcke im Speicherverlusterkennungs Prozess einzuschließen.

Weitere Informationen über Funktionen zur zustands Heap und die _CrtMemState Struktur finden Sie unter Heap-Zustands-berichtende Funktionen.Weitere Informationen zum Speicherblöcke in der Debugversion des Basisheaps zugeordnet, initialisiert und verwaltet werden, finden Sie unter Speicherverwaltung und Debugheap.

Anforderungen

Routine

Erforderlicher Header

_CrtDumpMemoryLeaks

<crtdbg.h>

Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.

Bibliotheken

Debugversionen von nur C .

Beispiel

Ein Beispiel dafür, wie _CrtDumpMemoryLeaksfinden Sie unter crt_dbg1verwendet.

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Debug- Routinen