Condividi tramite


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

Vedere anche

Riferimenti

Procedura di debug