Compartilhar via


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

Consulte também

Referência

Estrutura de CMemoryState

Gráfico de hierarquia