Sdílet prostřednictvím


_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í FALSEhodnotu .

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í _CrtDumpMemoryLeaksnaleznete v tématu crt_dbg1.

Viz také

Rutiny ladění