就这么简单,然后你只要运行你的程序就行了,Purify会向你提交一份内存问题的报告清单,以供你分析。Purify使用的是OCI(Object Code Insertion)技术,它会在你的目标程序中插入一些它自己的函数,这些函数主要都是内存检测的语句,这些语句将会放置在程序中所有,内存操作之前,一旦在程序运行时发现内存问题,Purify所插入的这些语句就会向你报告。一般来说,所有的内存检测工具都是这样工作的。
当被Purify编译过的程序运行时,Purify会弹出一个图形界面的窗口,来向你报告内存问题。如下所示:
点击三角符号后将出现更为详细的信息:
Purify在报告内存问题的时候,可以指出源程序中哪个地方出现内存问题,但对于内存泄漏而言,它只能指出出现问题的内存是哪一块,也就是指出内存是在哪里被分配的,而不是指出内存泄露是如何发生的。这是比较合乎情理的,所以,即使你知道那块内存发生了泄漏,你也不一定能找到究竟在什么时候发生的。当然,如果你让Purify配合GDB一起使用,那么要找到这种问题的根本原因,也不是什么困难的事情。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/