Sdílet prostřednictvím


_CrtCheckMemory

Potvrzuje integritu bloků paměti přidělených v haldě ladění (pouze ladicí verze).

Syntaxe


int _CrtCheckMemory( void );

Vrácená hodnota

V případě úspěchu _CrtCheckMemory vrátí funkce TRUEhodnotu ; v opačném případě vrátí FALSEfunkce .

Poznámky

Funkce _CrtCheckMemory ověří paměť přidělenou správcem haldy ladění ověřením základní haldy a kontrolou každého bloku paměti. Pokud dojde k chybě nebo nekonzistence paměti v podkladové základní haldě, informace hlavičky ladění nebo vyrovnávací paměti přepsání, _CrtCheckMemory vygeneruje ladicí sestavu s informacemi popisující chybový stav. Pokud _DEBUG není definováno, volání, která _CrtCheckMemory se mají odebrat během předběžného zpracování.

_CrtCheckMemory Chování lze řídit nastavením bitových polí příznaku _crtDbgFlag _CrtSetDbgFlag pomocí funkce. Zapnutí bitového _CRTDBG_CHECK_ALWAYS_DF pole způsobí _CrtCheckMemory , že se volá při každé operaci přidělení paměti. I když tato metoda zpomalí provádění, je užitečné rychle zachytit chyby. Vypnutí bitového _CRTDBG_ALLOC_MEM_DF pole způsobí _CrtCheckMemory , že haldu neověříte a okamžitě se vrátí TRUE.

Vzhledem k tomu, že tato funkce vrací TRUE nebo FALSE, může být předána do jednoho z _ASSERT maker a vytvořit základní mechanismus zpracování chyb ladění. Následující příklad způsobí selhání kontrolního výrazu, pokud je v haldě zjištěno poškození:

_ASSERTE( _CrtCheckMemory( ) );

Další informace o tom, jak _CrtCheckMemory se dají použít s dalšími funkcemi ladění, najdete v tématu Funkce generování sestav stavu haldy. Přehled správy paměti a haldy ladění najdete v podrobnostech haldy ladění CRT.

Požadavky

Rutina Požadovaný hlavičkový soubor
_CrtCheckMemory <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í _CrtCheckMemorynaleznete v tématu crt_dbg1.

Viz také

Rutiny ladění
_crtDbgFlag
_CrtSetDbgFlag