Visualização de estatística de memória
This topic applies to:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Native only |
||||
Pro, Premium e Ultimate |
Native only |
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