因此,我的公司使用了一个叫做Rational Purify (作为Microsoft Visual Developer Studio的插件)的令人愉快的buggy程序来管理内存泄漏。该程序被设计为让您在遇到内存泄漏后单击它,然后跳到发生泄漏的行。
不幸的是,Purify发生了故障,Purify不会跳到泄漏发生的地方,它只提到了泄漏发生的类和方法。不幸的是,有时这就像雇一个向导帮你猎熊,让他指着森林告诉你那里有熊一样有用。
有Purify经验的人知道我如何修复这个问题,或者有一个很好的手册吗?
发布于 2008-09-17 10:39:03
通常,您有两种选择,一种是从Purify中的工具中排除模块DLL,它有时会有所帮助。第二个是get BoundsChecker,这确实比编译时插装慢得多,但细节级别要好一个数量级。
当我们知道存在一个bug/崩溃时,我们通常在签入,健全性检查,和BoundsChecker上使用Purify。
BoundsChecker有一些很好的特性,比如只有仪器文件A.cpp和B.cpp,不包括所有其他文件。
请注意,这两个应用程序都不能在64位操作系统上运行,并且BoundsChecker不会安装在64位操作系统上。最令人沮丧的是,如果你切换到32位后端的本地64位开发!
发布于 2008-10-22 16:47:31
Purify就像一把瑞士刀。如果你知道如何使用它,你会得到一些结果,虽然不是最好的,但仍然会有结果。如果你不这样做,它将崩溃,因为它只是在Windows上运行的另一个程序。
最后,你将需要很大的耐心,重建和一点运气。
发布于 2009-04-03 15:03:18
Purify附带了一个名为ScanVSSolutionForPurifyPlus.pl的脚本,它将确保您的项目文件具有所有正确的设置,以使Purify能够正常工作。如果你还没有运行它,那就试一试。
(我个人曾在一个大型解决方案中使用过ScanVSSolutionForPurifyPlus.pl,它的效果非常好。需要注意的是:当您为其提供.sln文件的名称时,可能需要为其提供完整的路径名。)
https://stackoverflow.com/questions/5509
复制相似问题