Share via


CMemoryState::DumpStatistics

Imprime les statistiques concises d'une mémoire stockent d'un objet d' CMemoryState rempli par la fonction membre de différence .

void DumpStatistics( ) const;

Notes

L'état, qui est imprimé sur le périphérique de afxDump , indique ce qui suit :

Un exemple de rapport fournit des informations sur le nombre (ou la quantité) de :

  • blocs libres

  • blocs normaux

  • Blocs CRT

  • ignorez les blocs

  • blocs client

  • mémoire maximale utilisée par le programme en même temps (en octets)

  • mémoire totale actuellement utilisée par le programme (en octets)

Les blocs libres sont le nombre de blocs dont la désallocation a été différée si afxMemDF a la valeur delayFreeMemDF.Pour plus d'informations, consultez l' afxMemDF, dans la section « macro MFC et Globals ».Consultez types de blocs sur le tas de débogage pour plus d'informations sur ces types de bloc.

Exemple

Le code suivant doit être placé dans projnameApp.cpp.Définissez les variables globales suivantes :

static CMemoryState oldstate, newstate, diffstate;

Dans la fonction d' InitInstance , ajoutez la ligne suivante :

oldstate.Checkpoint();

Ajoutez un gestionnaire pour la fonction d' ExitInstance et utilisez le code suivant :

newstate.Checkpoint();
if (diffstate.Difference(oldstate, newstate))
{
   TRACE(_T("Memory leaked\n"));
   diffstate.DumpStatistics();
}

Vous pouvez maintenant exécuter le programme en mode débogage pour afficher la sortie d' DumpStatistics fonctionner.

Configuration requise

Header: afx.h

Voir aussi

Référence

Structure de CMemoryState

Graphique de la hiérarchie