Condividi tramite


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

Vedere anche

Riferimenti

Struttura di CMemoryState

Grafico della gerarchia