Share via


Affichage des statistiques de la mémoire

Cette rubrique s'applique à :

Édition

Visual Basic

C#

F#

C++

Web Developer

Express

La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas

Natif uniquement

La rubrique ne s'applique pas

Pro, Premium et Ultimate

La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas

Natif uniquement

La rubrique ne s'applique pas

La fonction CMemoryState::Difference examine deux objets d'état de mémoire et détecte les objets qui n'ont pas été libérés du tas entre les états de début et de fin. Une fois que vous avez Comment : prendre des instantanés de la mémoire et que vous les comparés à l'aide de CMemoryState::Difference ; vous pouvez appeler CMemoryState::DumpStatistics pour obtenir des informations sur les objets qui n'ont pas été libérés.

Prenons l'exemple suivant :

if( diffMemState.Difference( oldMemState, newMemState ) )
{
   TRACE( "Memory leaked!\n" );
   diffMemState.DumpStatistics();
}

Un exemple de dump de cet exemple aura l'aspect suivant :

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

Les blocs libres sont des blocs dont la fin d'allocation est différée si afxMemDF a la valeur delayFreeMemDF. Pour plus d'informations, consultez Comment : activer les diagnostics de la mémoire.

Les blocs Object ordinaires, affichés sur la deuxième ligne, restent alloués sur le tas.

Les blocs non objet incluent les tableaux et les structures alloués avec new. Dans le cas présent, quatre blocs non objet ont été alloués sur le tas, mais pas libérés.

Largest number used donne la mémoire maximale utilisée par le programme à un moment quelconque.

Total allocations donne la quantité totale de mémoire utilisée par le programme.

Voir aussi

Tâches

Comment : prendre des instantanés de la mémoire

Référence

CMemoryState Structure

Autres ressources

Détection de fuite de mémoire dans MFC

Diagnostic Services