_CrtDumpMemoryLeaks
Vysadí všechny bloky paměti v haldě ladění, když dojde k nevracení paměti (pouze ladicí verze).
Syntaxe
int _CrtDumpMemoryLeaks( void );
Vrácená hodnota
_CrtDumpMemoryLeaks
vrátí TRUE
, pokud dojde k nevracení paměti. V opačném případě funkce vrátí FALSE
hodnotu .
Poznámky
Funkce _CrtDumpMemoryLeaks
určuje, zda došlo k nevracení paměti od spuštění programu. Když dojde k úniku, informace hlavičky ladění pro všechny objekty v haldě se vyhodí ve formuláři čitelném uživatelem. Pokud _DEBUG
není definováno, volání, která _CrtDumpMemoryLeaks
se mají odebrat během předběžného zpracování.
_CrtDumpMemoryLeaks
se často volá na konci provádění programu, aby se ověřilo, že byla uvolněna veškerá paměť přidělená aplikací. Funkci lze volat automaticky při ukončení programu zapnutím _CRTDBG_LEAK_CHECK_DF
bitového pole příznaku _crtDbgFlag
_CrtSetDbgFlag
pomocí funkce.
_CrtDumpMemoryLeaks
volání _CrtMemCheckpoint
k získání aktuálního stavu haldy a pak zkontroluje stav bloků, které nebyly uvolněny. Když dojde k uvolnění bloku, _CrtDumpMemoryLeaks
volání _CrtMemDumpAllObjectsSince
výpisu informací pro všechny objekty přidělené v haldě od začátku spuštění programu.
Ve výchozím nastavení nejsou interní bloky_CRT_BLOCK
běhu jazyka C () zahrnuty do operací výpisu paměti. Funkci _CrtSetDbgFlag
lze použít k zapnutí bitu _CRTDBG_CHECK_CRT_DF
zahrnutí těchtoblokůch _crtDbgFlag
Další informace o funkcích stavu haldy a _CrtMemState
struktuře naleznete v tématu Funkce generování sestav stavu haldy. Další informace o přidělování, inicializaci a správě bloků paměti ve verzi ladění základní haldy naleznete v podrobnostech haldy ladění CRT.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_CrtDumpMemoryLeaks |
<crtdbg.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Knihovny
Ladění pouze verzí knihoven runtime jazyka C.
Příklad
Ukázku použití _CrtDumpMemoryLeaks
naleznete v tématu crt_dbg1
.