Condividi tramite


_CrtDumpMemoryLeaks

Esegue il dump di tutti i blocchi di memoria nell'heap del debug quando si verifica una perdita di memoria (solo versione di debug).

Sintassi


int _CrtDumpMemoryLeaks( void );

Valore restituito

_CrtDumpMemoryLeaks restituisce TRUE se viene rilevata una perdita di memoria. In caso contrario, la funzione restituisce FALSE.

Osservazioni:

La funzione _CrtDumpMemoryLeaks determina se si è verificata una perdita di memoria dall'avvio dell'esecuzione del programma. Quando viene rilevata una perdita di memoria, viene eseguito il dump delle informazioni di intestazione del debug per tutti gli oggetti dell'heap in un formato leggibile dall'utente. Quando _DEBUG non è definito, le chiamate a _CrtDumpMemoryLeaks vengono rimosse durante la pre-elaborazione.

_CrtDumpMemoryLeaks viene spesso chiamato alla fine dell'esecuzione del programma per verificare che è stata liberata tutta la memoria allocata dall'applicazione. La funzione può essere chiamata automaticamente alla terminazione del programma attivando il _CRTDBG_LEAK_CHECK_DF campo di bit del _crtDbgFlag flag usando la _CrtSetDbgFlag funzione .

_CrtDumpMemoryLeaks chiama _CrtMemCheckpoint per ottenere lo stato corrente dell'heap e quindi analizza lo stato per i blocchi che non sono stati liberati. Quando viene rilevato un blocco non aggiornato, _CrtDumpMemoryLeaks chiama _CrtMemDumpAllObjectsSince le informazioni di dump per tutti gli oggetti allocati nell'heap dall'inizio dell'esecuzione del programma.

Per impostazione predefinita, i blocchi di runtime C interni (_CRT_BLOCK) non sono inclusi nelle operazioni di dump della memoria. La _CrtSetDbgFlag funzione può essere usata per attivare il _CRTDBG_CHECK_CRT_DF bit di _crtDbgFlag per includere questi blocchi nel processo di rilevamento delle perdite.

Per altre informazioni sulle funzioni di stato dell'heap e sulla _CrtMemState struttura, vedere Funzioni di creazione di report dello stato heap. Per altre informazioni sulla modalità di allocazione, inizializzazione e gestione dei blocchi di memoria nella versione di debug dell'heap di base, vedere Dettagli dell'heap di debug CRT.

Requisiti

Ciclo Intestazione obbligatoria
_CrtDumpMemoryLeaks <crtdbg.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Librerie

Solo le versioni di debug delle librerie di runtime di C.

Esempio

Per un esempio di come usare _CrtDumpMemoryLeaks, vedere crt_dbg1.

Vedi anche

Routine di debug