_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 TRUE
hodnotu ; v opačném případě vrátí FALSE
funkce .
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í _CrtCheckMemory
naleznete v tématu crt_dbg1
.