VC内存泄漏检测原理及源码

时间:2015-08-05 02:20:06
【文件属性】:

文件名称:VC内存泄漏检测原理及源码

文件大小:121KB

文件格式:RAR

更新时间:2015-08-05 02:20:06

内存泄漏 VC/C++源码 内存检测 原理

C++内存泄漏检测原理+实例源码下载,是一个跨平台的C++ 内存泄漏检测器的源程序,一个主要缺陷是不支持多线程。分配内存时不进行文件名复制,而只是保存其指针;效率较高(编译debug_new.cpp  时有效;参见文件中的注释)   我本人认为,debug_new目前的一个主要缺陷是不支持多线程。对于某一特定平台,要加入多线程支持并不困难,难就难在通用上(当然,条件编译是一个办法,虽然不够优雅)。   等到C++标准中包含线程模型时,这个问题也许能比较完美地解决吧。另一个办法是使用像boost这样的程序库中的线程封装类,不过,这又会增加对其它库的依赖性--毕竟boost并不是C++标准的一部分。如果项目本身并不用boost,单为了这一个目的使用另外一个程序库似乎并不值得。因此,我自己暂时就不做这进一步的改进了。   另外一个可能的修改是保留标准operator new的异常行为,使其在内存不足的情况下抛出异常(普通情况)或是返回NULL(nothrow情况),而不是像现在一样终止程序运行(参见debug_new.cpp 的源代码)。这一做法的难度主要在于后者:我没想出什么方法,可以保留 new(nothrow) 的语法,同时能够报告文件名和行号,并且还能够使用普通的new。不过,如果不使用标准语法,一律使用debug_new和debug_new_nothrow的话,那还是非常容易实现的。


【文件预览】:
C++内存泄漏检测原理
----dbg_new.rar(3KB)
----C++ 内存泄漏检测原理_1.pdf(130KB)

网友评论

  • 思路正是我要找的,多谢
  • 不是New出来的测不到
  • 资源不错, 而且资源简介的内容也有参考价值,.
  • 效果不错,很有参考价值
  • 思路正是我要找的,多谢