_CrtCheckMemory
Conferma l'integrità dei blocchi di memoria allocati nell'heap di debug (versione di debug solo).
int _CrtCheckMemory( void );
Valore restituito
Se l'operazione viene completata correttamente, _CrtCheckMemory TRUE di restituisce; in caso contrario, la funzione restituisce FALSE.
Note
_CrtCheckMemory la funzione convalida la memoria allocata da gestione dell'heap di debug verificando l'heap di base sottostante e controllando ciascun blocco di memoria.Se un'incoerenza di memoria o di errore viene rilevata nell'heap di base sottostante, le informazioni sull'intestazione di debug, o nei buffer di sovrascrivere, _CrtCheckMemory genera un report di debug con informazioni che descrivono la condizione di errore.quando _DEBUG non è definito, le chiamate a _CrtCheckMemory vengono ignorati durante la pre-elaborazione.
il comportamento di _CrtCheckMemory può essere controllata definendo i campi di bit di _crtDbgFlag flag tramite _CrtSetDbgFlag funzione.Disattivare _CRTDBG_CHECK_ALWAYS_DF campo di bit sui risultati in _CrtCheckMemory eseguita chiamando ogni volta che un'operazione di allocazione della memoria è richiesta.Sebbene questo metodo rallenti l'esecuzione, è utile per individuare gli errori rapidamente.Disattivare _CRTDBG_ALLOC_MEM_DF campo di bit FUORI dalle cause _CrtCheckMemory per non eseguire il test dell'heap e immediatamente il ritorno TRUE.
Poiché la funzione restituisce TRUE o FALSE, possono essere passate a uno di _ASSERT macro per creare un semplice meccanismo di gestione degli errori di debug.L'esempio seguente genera un errore di asserzione se il danneggiamento viene rilevato nell'heap:
_ASSERTE( _CrtCheckMemory( ) );
per ulteriori informazioni su come _CrtCheckMemory può essere utilizzato con altre funzioni di debug, vedere Lo stato dell'heap che segnala le funzioni.Per una panoramica di gestione della memoria e dell'heap di debug, vedere Gestione della memoria e heap di debug.
Requisiti
routine |
Intestazione di associazione |
---|---|
_CrtCheckMemory |
<crtdbg.h> |
Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.
Librerie
versioni di debug di Librerie di runtime del linguaggio C solo.
Esempio
Per un esempio di utilizzo _CrtCheckMemory, vedere crt_dbg1.
Equivalente .NET Framework
System:: diagnostica:: PerformanceCounter