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