banner cpptest
首页 > C++test > C++test如何针对自定义资源函数进行内存泄漏检测,设置参数说明?

C++test如何针对自定义资源函数进行内存泄漏检测,设置参数说明?

2011年8月3日 浏览: 

本文源自于软件测试人专业博客,任何转载均需注明原址:http://www.mytestlife.com/post/memory_leak_bugdetective.html

C++test提供数据流分析的功能,也即BugDetective,在之前的系列文章中也曾有介绍BugDetective的一些功能介绍,参见文章《c++test使用入门介绍 -- 使用C++test BugDetective功能》,另外也有一篇文章介绍了《利用C++test BugDetective功能检查自定义资源分配函数的泄漏问题》,本文针对BugDetective自定义资源的设置选项做个详细说明,便于大家在设置时更方便,同时用一个例子来解释,如何详细配置。

针对如下代码示例,使用截图说明:

C++test BugDetective Sample

该代码中,使用MALLOC和FREE宏定义两个aee_malloc和aee_free的内存分配函数和内存释放函数,这里通过C++test的BugDetective进行设置时,需要注意以下几点:

1. C++test针对预处理后的代码进行检查,因此在自定义设置框中,需要填写aee_malloc和aee_free,而不是MALLOC,FREE,因为预处理后,宏不存在的;

2. 如果代码是.c文件,请在添加资源分配器和释放器的时候,“完全修饰的类型名称或命名空间(通配符)”去掉“*”号,以及“+子类中的定义”不要选择,这两个主要是针对cpp代码使用;
3. 请参照如下我的设置截图:

C++test BugDetective options

这样设置后,即可找到自定义内存分配和释放函数发生的泄漏,如图:

C++test BugDetective Results

本文对BugDetective的自定义资源相关设置做了简单介绍,关于BugDetective的更多内容,请参见《c++test使用入门介绍 -- 使用C++test BugDetective功能》一文,点击查看:http://www.mytestlife.com/post/bugdetective_cpptest.html

原文链接:http://www.mytestlife.com/post/memory_leak_bugdetective_3114.html

nick C++test Ctest  内存泄漏  自定义资源函数