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 CMemoryState

Grafico delle gerarchie