Comment faire pour Tester les Fuites de Mémoire?

Nous avons une application avec des centaines de possibles actions de l'utilisateur, et de réfléchir à comment améliorer la mémoire, des tests de fuite.

Actuellement, voici la façon dont il se produit: Quand manuellement l'essai du logiciel, s'il apparaît que notre application consomme trop de mémoire, nous utilisons un outil de mémoire, trouver la cause et la corriger. C'est un peu lent et n'est pas efficace: les problèmes sont découverts tardivement, et s'appuie sur la bonne volonté d'un développeur.

Comment pouvons-nous améliorer?

  • Interne de vérifier que certaines actions (comme "fermer le fichier") ne récupérer un peu de mémoire et journal?
  • Valoir sur l'état de la mémoire à l'intérieur de nos tests unitaires (mais il semble que ce serait une tâche longue et fastidieuse) ?
  • Manuellement régulièrement vérifier de temps en temps?
  • Comprennent que la case à chaque fois qu'un nouvel article de l'utilisateur est mis en œuvre?
Quelle langue utilisez-vous? Est-il un garbage collector de langage comme Java ou Perl ou un non-GC langages comme le C ou le C++?
Et quelle plate-forme? Il y a les outils d'analyse statique, de la mémoire d'outils de profilage et d'autres techniques disponibles, mais sans rien préciser sur votre mise en œuvre, il est difficile de vous donner un utilisable réponse.

OriginalL'auteur sthiers | 2009-01-07