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