利用C++test BugDetective功能检查自定义资源分配函数的泄漏问题
本文源自于软件测试人专业博客,任何转载均需注明原址:http://www.mytestlife.com/post/resource_leak.html
资源泄漏检测
C++test的BugDetective功能能通过静态化模拟代码执行路径,从而帮助用户找到一些运行时Bug。对于资源泄漏的问题,同样能帮助用户找到如内存泄漏,文件泄漏,管道泄漏等标准库函数提供的资源分配和释放函数导致的资源泄漏问题;同时对于自定义资源分配和自定义资源释放函数同样可以进行检查,本文详述如何利用Parasoft C++test的 BugDetective功能检查自定义资源分配函数的泄漏问题。
自定义资源分配函数和自定义资源释放函数
在代码编程过程中,经常会编写一些自定义资源分配和自定义资源释放函数,一般而言,很多工具能帮助检查标准库函数提供的资源分配和释放函数导致的资源泄漏问题,但对对于自定义资源分配和自定义资源释放函数导致的资源泄漏问题,却无能为力,那么我们看看C++test是如何利用BugDetective功能检查自定义资源分配和自定义资源释放函数导致的资源泄漏问题?
1. 打开C++test Test Configurations,复制一份BugDetective测试配置到User-Defined分类下,点击:选择static -> BugDetective Options -> Resources -> Add, 填写“user_defined”,如图:
2. 选中User_Defined,点击右边Edit按钮,弹出如下对话框,按如图方式,将TestAlloc和TestFree添加在资源分配器和资源释放器中。
3. 然后保存,使用上述配置从新检测,即可检测自定义资源分配和自定义资源释放函数导致的资源泄漏问题。
关于BugDetective的更多内容,请参见《c++test使用入门介绍 -- 使用C++test BugDetective功能》一文,点击查看:http://www.mytestlife.com/post/bugdetective_cpptest.html。
原文链接:http://www.mytestlife.com/post/resource_leak.html