c++程序内存泄露检测工具

来源:互联网 发布:qq炫舞刷装备软件 编辑:程序博客网 时间:2024/05/21 13:54

功能:

      用于检测c++程序的内存泄露。

原理:

     其实很简单,就是通过函数的重载机制,捕获应用程序的new, new[] , delete , delete[], malloc,calloc,free等内存操作函数。

特点:

     由于在检测的过程中,需要记录用户程序内存分配信息,所以工具本身必须进行内存动态分配。为了提高内存分配效率,程序实现了两个链表。

1、空闲链表,其实就是一个简单的内存池

 

2、当前正在保存内存信息的链表

 

不足:

1、只是在vc2005上测试通过,没有在其他平台上测试过

2、不支持多线程(后续有可能支持)

3、保存当前内存分配信息的链表,存在next字段的内存开销。

 

源代码:

 

1、头文件

 

2、源文件