Compartilhar via


Visualização de estatística de memória

This topic applies to:

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

O tópico não é aplicável O tópico não é aplicável O tópico não é aplicável

Native only

O tópico não é aplicável

Pro, Premium e Ultimate

O tópico não é aplicável O tópico não é aplicável O tópico não é aplicável

Native only

O tópico não é aplicável

O CMemoryState::Difference função analisa dois objetos de estado de memória e detecta quaisquer objetos que não são desalocados do heap entre os estados inicial e final. Depois de ter Como: Tirar instantâneos da memória e comparado-los usando CMemoryState::Difference, você pode chamar CMemoryState::DumpStatistics para obter informações sobre os objetos que não ter sido desalocada.

Consider the following example:

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

Um despejo de amostra do exemplo tem esta aparência:

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

Blocos livres são os blocos cuja desalocação está atrasada se afxMemDF foi definido como delayFreeMemDF. For more information, see Como: Habilitar o diagnóstico de memória.

Blocos de objeto comum, mostrados na segunda linha, permanecem alocados na pilha.

Blocos de objeto não incluem matrizes e estruturas alocados com new. Nesse caso, quatro blocos de não-objeto foram alocados na pilha, mas não desalocados.

Largest number usedoferece o máximo de memória usado pelo programa a qualquer momento.

Total allocationsfornece a quantidade total de memória usada pelo programa.

Consulte também

Tarefas

Como: Tirar instantâneos da memória

Referência

CMemoryState Structure

Outros recursos

Detecção de vazamento de memória no MFC

Diagnostic Services