Partager via


Suivi des allocations de mémoire

Mise à jour : novembre 2007

Cette rubrique s'applique à :

Édition

Visual Basic

C#

C++

Web Developer

Express

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

Natif uniquement

La rubrique ne s'applique pas

Standard

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

Natif uniquement

La rubrique ne s'applique pas

Pro et Team

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

Natif uniquement

La rubrique ne s'applique pas

Légende du tableau :

La rubrique s'applique

Applicable

La rubrique ne s'applique pas

Non applicable

La rubrique s'applique mais la commande est masquée par défaut

Commande ou commandes masquées par défaut.

Dans les MFC, vous pouvez utiliser la macro DEBUG_NEW à la place de l'opérateur new pour faciliter la localisation des fuites de mémoire. Dans la version Debug de votre programme, DEBUG_NEW assure le suivi du nom du fichier et du numéro de ligne pour chaque objet alloué. Lorsque vous compilez une version Release de votre programme, DEBUG_NEW est traduit en une opération new simple sans les informations de nom de fichier et de numéro de ligne. Ainsi, la vitesse n'est pas pénalisée dans la version Release de votre programme.

Si vous souhaitez éviter de réécrire le programme entier pour utiliser DEBUG_NEW à la place de new, vous pouvez définir la macro suivante dans vos fichiers sources :

#define new DEBUG_NEW

Lorsque vous faites un dump d'objets, chaque objet alloué avec DEBUG_NEW affiche le fichier et le numéro de ligne où il a été alloué, ce qui vous permet de localiser l'origine des fuites de mémoire.

La version Debug de l'infrastructure MFC utilise automatiquement DEBUG_NEW, contrairement à votre code. Si vous souhaitez bénéficier de DEBUG_NEW, vous devez utiliser DEBUG_NEW explicitement ou #define new comme indiqué plus haut.

Voir aussi

Autres ressources

Détection de fuite de mémoire dans MFC