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