Rational Purify无法跳转到内存泄漏

所以我的公司使用了一个名为Rational Purify的令人愉快的错误程序(作为Microsoft Visual Developer Studio的插件)来管理内存泄漏。该程序设计为让您在遇到内存泄漏后单击,然后跳转到发生泄漏的行。

不幸的是,Purify发生故障,Purify不会跳到发生泄漏的地方,只会提到发生泄漏的类别和方法。不幸的是,有时候这与使用指南来帮助您捕捉熊并让他点去森林告诉你那里有熊。

有Purify经验的人有任何想法我可以解决这个问题或有一个很好的手册来看看虽然?

0

4 答案

你确定你有调试版吗?或者说你已经启用了所有的PDB?在你的可执行文件上试试WindDbg,并用!lmi命令检查可见的内容。

整个代码是否正确检测?

另外考虑使用其他的东西,比如免费的视觉检测仪或者微软的工具LeakDiag。

0
额外

Purify附带一个名为ScanVSSolutionForPurifyPlus.pl的脚本,它将确保您的项目文件具有Purify正常工作的所有正确设置。如果你还没有运行它,请给它一个。

(我个人在一个大型的解决方案上使用过ScanVSSolutionForPurifyPlus.pl,它的工作方式就像一个魅力一样,需要注意的是:当你给出它的 .sln 文件的名字时,你可能需要给它完整路径名称。)

0
额外

我大约5年前使用了Purify。那真的很脆。他们一直承诺修复'下一个版本'中的所有错误。我们最终放弃了它。人们只能怀疑他们是否在自己的产品上使用了自己的质量保证工具。哦,讽刺...

0
额外

通常你有两个选项,一个在Purify中排除模块DLL的工具,这有助于一些时间。其次是得到BoundsChecker,这确实编译时间仪器慢得多,但细节的水平更好一个数量级。

当我们知道存在错误/崩溃时,我们通常在检入时使用Purify,完整性检查和BoundsChecker。

BoundsChecker has some nice features like only instrument files A.cpp & B.cpp, excluding all the rest.

请注意,这两个应用程序在64位操作系统上都不起作用,并且BoundsChecker不会在64位操作系统上安装。最让人沮丧的是,如果你使用32位后端口切换到本地64位开发!

0
额外