Vld 静态检测内存泄漏

一、特点:Visual Leak Detector(VLD-可视化泄漏探测)是一款用于Visual C++的免费的内存泄露检测工具。他的特点有:可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号; 可以得到泄露内存的完整数据; 可以设置内存泄露报告的级别;并且是开源免费的。Win7 比较好用的是vld-2.3,(vld-2.2.3存在bug)

二、VLD的安装直接运行exe进行安装,一直“是”到底就可以。

设置(VS):

1、工程、属性、选项、项目和解决方案"→"VC++ 目录","包含文件"增加VLD的"\include"路径

2、"库文件"增加VLD的"\lib\Win32(64)"路径

3、将vld安装目录下Bin里面的dll与manifest文件全部拷到运行工程对应的Bin下(dbghelp.dll替换原有的)

4、将所有的.manifest均拷到运行工程对应的Bin下。

三、在main.cpp中最前面加入#include 如果有stdafx.h,放到它的后面。

四、直接运行程序,在程序结束时,会在output窗口输出对应的泄漏信息

五、体验:只能检测出比较简单的,好多检测不出来


注:

   1、官网 http://vld.codeplex.com/

   2、使用2.2X版本,多线程时,显示Full call stack not available的提示,这是个bug,用最新版就OK了

  3、使用2.5版本时,默认输出是ascii,要在vld.ini中改成unicode ,也可修改memory_leak_report.txt的输出位置
4、VLD只在Debug模式下起作用,在release或DebugWithRelease下不起作用


你可能感兴趣的:(C++)