Visualizzazione della statistica della memoria

Aggiornamento: novembre 2007

Le informazioni contenute in questo argomento sono valide per:

Edition

Visual Basic

C#

C++

Web Developer

Express

Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Standard

Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Pro e Team

Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Legenda tabella:

Argomento applicabile

Si applica

Argomento non applicabile

Non applicabile

Argomento valido ma comando nascosto per impostazione predefinita

Comando o comandi nascosti per impostazione predefinita.

La funzione CMemoryState::Difference esamina due oggetti stato di memoria e rileva eventuali oggetti non deallocati dall'heap tra gli stati iniziale e finale. Dopo aver eseguito la Procedura: creare snapshot di memoria e aver confrontato tali snapshot mediante CMemoryState::Difference, è possibile chiamare CMemoryState::DumpStatistics per ottenere informazioni sugli oggetti non deallocati.

Si consideri l'esempio seguente:

if( diffMemState.Difference( oldMemState, newMemState ) )
{
   TRACE( "Memory leaked!\n" );
   diffMemState.DumpStatistics();
}

Un dump campione sarà del seguente tipo:

0 bytes in 0 Free Blocks
22 bytes in 1 Object Blocks
45 bytes in 4 Non-Object Blocks
Largest number used: 67 bytes
Total allocations: 67 bytes

I blocchi liberi rappresentano blocchi la cui deallocazione viene ritardata se afxMemDF è stato impostato su delayFreeMemDF. Per ulteriori informazioni, vedere la classe Procedura: attivare la diagnostica della memoria.

I blocchi di oggetti ordinari, indicati alla seconda riga, rimangono allocati sull'heap.

I blocchi non di oggetti includono matrici e strutture allocate con new. In questo caso quattro blocchi non di oggetti sono stati allocati sull'heap ma non disallocati.

Largest number used indica la quantità massima di memoria utilizzata dal programma in qualsiasi momento.

Total allocations indica la quantità totale di memoria utilizzata dal programma.

Vedere anche

Attività

Procedura: creare snapshot di memoria

Riferimenti

CMemoryState Structure

Altre risorse

Rilevamento di perdite di memoria in MFC

Diagnostic Services