Détection et isolement des fuites 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.

La capacité d'allouer et de désallouer la mémoire de façon dynamique est l'une des fonctionnalités les plus puissantes de la programmation C/C++, mais le meilleur atout peut également devenir la principale faiblesse. Cela est certainement vrai dans certaines applications C/C++, où les problèmes de gestion de la mémoire figurent parmi les bogues les plus courants.

L'un des bogues les plus discrets et les plus difficiles à détecter est la fuite de mémoire, l'incapacité à désallouer correctement la mémoire qui a été précédemment allouée. Une petite fuite de mémoire qui survient une seule fois peut passer inaperçue, mais les programmes qui perdent de grandes quantités de mémoire ou qui fuient petit à petit peuvent manifester des symptômes allant d'une dégradation des performances (avec une diminution progressive de ces dernières) au manque de mémoire pur et simple. Pire, un programme qui fuit peut monopoliser à tel point la mémoire qu'il risque de provoquer l'échec d'un autre programme, l'utilisateur ne disposant alors d'aucune piste pour localiser le problème. Par ailleurs, les fuites de mémoire, même sans danger, peuvent être symptomatiques d'autres problèmes.

Heureusement, le débogueur Visual Studio et les bibliothèques Runtime C (CRT) fournissent des moyens efficaces pour détecter et identifier les fuites de mémoire. Pour savoir comment détecter les fuites de mémoire avec les fonctions de débogage CRT, lisez les rubriques suivantes :

Les MFC fournissent leur propre ensemble de fonctions pour détecter les fuites de mémoire dans les programmes MFC. Pour plus d'informations, consultez Détection des fuites de mémoire dans les MFC.

Voir aussi

Concepts

Sécurité du débogueur

Autres ressources

Débogage du code natif