_CrtDumpMemoryLeaks
Esegue il dump di tutti i blocchi di memoria nell'heap di debug quando una perdita di memoria si è verificata (versione di debug solo).
int _CrtDumpMemoryLeaks( void );
Valore restituito
_CrtDumpMemoryLeaks restituisce TRUE se una perdita di memoria viene trovata.In caso contrario, la funzione restituisce FALSE.
Note
_CrtDumpMemoryLeaks la funzione determina se una perdita di memoria si è verificata dall'inizio dell'esecuzione del programma.Quando una perdita viene trovata, le informazioni di intestazione di debug per tutti gli oggetti nell'heap sono si esegue il dump in formato leggibile dall'utente.quando _DEBUG non è definito, le chiamate a _CrtDumpMemoryLeaks vengono ignorati durante la pre-elaborazione.
_CrtDumpMemoryLeaks viene chiamato spesso alla fine dell'esecuzione del programma per verificare che la memoria allocata dall'applicazione sia stata liberata.La funzione può essere chiamata automaticamente alla chiusura del programma corso _CRTDBG_LEAK_CHECK_DF campo di bit di _crtDbgFlag flag tramite _CrtSetDbgFlag funzione.
_CrtDumpMemoryLeaks chiamate _CrtMemCheckpoint per ottenere lo stato corrente dell'heap e quindi analizza lo stato per i blocchi non sono stati liberati.Quando un blocco unfreed viene rilevato, _CrtDumpMemoryLeaks chiamate _CrtMemDumpAllObjectsSince per eseguire il dump informazioni per tutti gli oggetti allocati nell'heap dall'inizio dell'esecuzione del programma.
Per impostazione predefinita, blocchi interni di runtime del linguaggio C (_CRT_BLOCK) non sono inclusi nelle operazioni del dump della memoria._CrtSetDbgFlag la funzione può essere utilizzata attivare _CRTDBG_CHECK_CRT_DF bit di _crtDbgFlag per includere questi blocchi nel processo del rilevamento di perdite.
Per ulteriori informazioni sulle funzioni di stato dell'heap e _CrtMemState la struttura, vedere Lo stato dell'heap che segnala le funzioni.Per informazioni su come i blocchi di memoria vengono allocati, inizializzati e vengono gestiti nella versione di debug dell'heap di base, vedere Gestione della memoria e heap di debug.
Requisiti
routine |
Intestazione di associazione |
---|---|
_CrtDumpMemoryLeaks |
<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 _CrtDumpMemoryLeaks, vedere crt_dbg1.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.