2008-08-08 7 views
-1

Donc, ma société utilise un programme délicieusement buggé appelé Rational Purify (en tant que plugin pour Microsoft Visual Developer Studio) pour gérer les fuites de mémoire. Le programme est conçu pour vous permettre de cliquer sur une fuite de mémoire après l'avoir rencontrée, puis de passer à la ligne sur laquelle la fuite se produit. Malheureusement, Purify ne fonctionne pas correctement et Purify ne sautera pas à l'endroit où la fuite s'est produite. Elle mentionne seulement la classe et la méthode dans lesquelles la fuite se produit. Malheureusement, cela est parfois aussi utile que de vous aider. et l'avoir pointé vers la forêt et vous dire qu'il y a des ours là.Rational Purify ne saute pas à la mémoire fuit

Est-ce que quelqu'un avec l'expérience de Purify a une idée de comment je pourrais résoudre ce problème ou avoir un bon manuel pour regarder si?

Répondre

2

Généralement vous avez deux options, on exclut les modules DLL de l'instrumentation dans Purify, ça aide parfois. La seconde est d'obtenir BoundsChecker, cela compile beaucoup plus lentement l'instrumentation temporelle mais le niveau de détail est meilleur d'un ordre de grandeur.

Nous utilisons généralement Purify à l'enregistrement, la vérification de la santé et BoundsChecker lorsque nous savons qu'un bug/crash existe. BoundsChecker a quelques fonctionnalités intéressantes comme seulement les fichiers d'instrument A.cpp & B.cpp, à l'exclusion de tout le reste.

Sachez qu'aucune de ces deux applications ne fonctionne sur les systèmes d'exploitation 64 bits et que BoundsChecker ne s'installe pas sur un système d'exploitation 64 bits. Le plus frustrant si vous faites le passage au développement 64 bits natif avec un port arrière de 32 bits!

1

Etes-vous sûr d'avoir une version de débogage? Ou plutôt vous avez tous les PDB activés? Essayez WindDbg sur votre exécutable et vérifiez avec la commande! Lmi ce qui est visible.

Le code entier est-il correctement instrumenté?

Pensez également à utiliser autre chose comme free Visual Leak Detector ou l'outil Microsoft LeakDiag.

1

J'ai utilisé Purify il y a environ 5 ans. C'était vraiment floconneux alors. Ils ont continué à promettre de corriger tous les bugs dans la 'prochaine version'. Nous avons abandonné à la fin. On peut seulement se demander s'ils ont utilisé leurs propres outils d'AQ sur leurs produits. Oh l'ironie ...

2

Purifier est comme un couteau suisse. Si vous savez comment l'utiliser, vous obtiendrez des résultats, pas les meilleurs mais toujours des résultats. Si ce n'est pas le cas, il va planter, parce que c'est juste un autre programme fonctionnant sous Windows. En fin de compte, vous aurez besoin de beaucoup de patience, de reconstructions et d'un peu de chance.

2

Purify est livré avec un script appelé ScanVSSolutionForPurifyPlus.pl qui garantit que les fichiers de votre projet ont tous les bons paramètres pour que Purify fonctionne correctement. Si vous ne l'avez pas exécuté, essayez-le. (J'ai personnellement utilisé ScanVSSolutionForPurifyPlus.pl sur une grande solution, et cela a fonctionné comme un charme.Un inconvénient: lorsque vous lui donnez le nom de votre fichier .sln, vous devrez peut-être lui donner le chemin d'accès complet.)

Questions connexes