Partilhar via


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

Este tópico se aplica a:

Edição

Visual Basic

C#

C++

Desenvolvedores Web

Express

Somente nativo

Padrão

Somente nativo

PRO e equipe

Somente nativo

Legenda de tabela:

Aplica-se

Não é aplicada

Comando ou comandos oculta por padrão.

The CMemoryState::Difference função examina dois objetos de estado da memória e detecta todos os objetos não desalocados do heap entre os estados de início e participante. Depois de ter Como: Tirar instantâneos da memória e comparado-los usando CMemoryState::Difference, você pode telefonar CMemoryState::DumpStatistics Para obter informações sobre os objetos não desalocada.

Considere o exemplo a seguir:

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 disponível são blocos cuja desalocação será adiada se afxMemDF foi definido como delayFreeMemDF. Para obter mais informações, consulte Como: Ativar 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 alocadas com new. Nesse caso, quatro blocos não-objeto eram alocados na heap mas não desalocados.

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

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

Consulte também

Tarefas

Como: Tirar instantâneos da memória

Referência

Estrutura CMemoryState

Outros recursos

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

Serviços de diagnóstico