CMemoryState::DumpStatistics
Premere statistiche della memoria concise riferimento da un oggetto CMemoryState che viene riempito dalla funzione membro differenza.
void DumpStatistics( ) const;
Note
Il rapporto, che viene spostato nel dispositivo afxDump, viene illustrato quanto segue:
Un rapporto di esempio vengono fornite informazioni sul numero (o) della quantità di:
blocchi liberi
blocchi normali
Blocchi CRT
ignora i blocchi
blocchi client
quantità massima di memoria utilizzata in qualsiasi momento dal programma (in byte)
memoria totale attualmente utilizzata dal programma (in byte)
I blocchi liberi rappresentano il numero di blocchi della cui deallocazione è stata ritardata se afxMemDF è impostato su delayFreeMemDF. Per ulteriori informazioni, vedere afxMemDF, nella sezione "Globals e di macro MFC." Vedere Tipi di blocchi sull'heap di debug per ulteriori informazioni su questi tipi di blocco.
Esempio
Il seguente codice deve essere inserito in projnameApp.cpp. Definire le seguenti variabili globali:
static CMemoryState oldstate, newstate, diffstate;
Nella funzione InitInstance, aggiungere la riga seguente:
oldstate.Checkpoint();
Aggiungere un gestore per la funzione ExitInstance e utilizzare il codice seguente:
newstate.Checkpoint();
if (diffstate.Difference(oldstate, newstate))
{
TRACE(_T("Memory leaked\n"));
diffstate.DumpStatistics();
}
È ora possibile eseguire il programma in modalità di debug per osservare l'output DumpStatistics eseguire.
Requisiti
Header: afx.h