平民程序 - linghuye's blog

天下风云出我辈,一入江湖岁月催。皇图霸业谈笑中,不胜人生一场醉。提剑跨骑挥鬼雨,白骨如山鸟惊飞。尘事如潮人如水,只笑江湖几人回。

随笔 - 221, 文章 - 0, 评论 - 680, 引用 - 0
数据加载中……

Rational Purify使用感受

先说缺点
1.基本上对Release版本的程序没什么用,一个清清白白的Hello World程序Release版都能被它测出64k的内存泄漏,真是让人吐血.
2.极不稳定,崩溃无数,如果一天使用下来没有使机器死机,就让我们感谢上帝.作为一个测试工具自身如此多的致命问题,再次吐血.
3.文档很烂,大部分你查到的文档,总是说它能做这个,能做那个,把这个工具吹上天(都是那些无知的工程管理人员).
4.被它Instrument的大型程序(Release 1M以上,Debug 4M以上)极不稳定,容易崩溃,运行速度会慢2个数量级,导致根本无法正常运行到进程退出,内存错误查找更无法进行.

使用
1.对Debug程序能很好地查出内存泄漏,并且精确定位代码行.
2.使用很简单,在Rational Purify环境中Run要调试的程序,Purify首先会自动instrument你的程序,查找每个内存操作相关指令,并写入加上自己的检测指令,然后将修改完的程序复制到Purify Cache目录下运行.在运行中维护一张内存使用表,检测每块内存的分配和销毁.直至最终程序退出,Purify根据其维护的内存使用表,总结所有没有被释放的内存.
3.Purify会instrument所有程序用到的dll执行文件,包括系统dll,可以设置每个dll的instrument程度.
4.可以使用Filter过滤掉一些良性的内存错误.

这个文章详实地探讨了Purify的原理和缺陷.
http://www-2.cs.cmu.edu/~aldrich/courses/654/homework/example-tool-eval2.pdf

posted on 2005-08-20 01:08 linghuye 阅读(2609) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。