CMemoryState::DumpStatistics
Imprime estatísticas concisas de uma memória relatórios de um objeto de CMemoryState que é preenchido pela função de membro de diferença .
void DumpStatistics( ) const;
Comentários
O relatório, que é impresso no dispositivo de afxDump , mostra o seguinte:
Um relatório de exemplo fornece informações sobre o número (ou) na quantidade de:
blocos livre
blocos normais
Blocos de CRT
blocos ignorar
blocos de cliente
máximo memória usada pelo programa a qualquer momento (em bytes)
total de memória usada pelo programa (em bytes)
Blocos livres são o número de blocos cuja desalocação foi tardia se afxMemDF foi definido como delayFreeMemDF.Para obter mais informações, consulte afxMemDF, na seção de macros e de Globais MFC”.Consulte Tipos de blocos no heap de depuração para obter mais informações sobre esses tipos do bloco.
Exemplo
o seguinte código deve ser colocado em projnameApp.cpp.Defina os seguintes variáveis globais:
static CMemoryState oldstate, newstate, diffstate;
Em a função de InitInstance , adicione a linha:
oldstate.Checkpoint();
Adicionar um manipulador para a função de ExitInstance e use o código a seguir:
newstate.Checkpoint();
if (diffstate.Difference(oldstate, newstate))
{
TRACE(_T("Memory leaked\n"));
diffstate.DumpStatistics();
}
Agora você pode executar o programa em modo de depuração para ver a saída de DumpStatistics para funcionar.
Requisitos
Cabeçalho: afx.h