Visual Leak Detector是一款免费的检查内存泄露的工具。最新的2.1版本可以很好的支持VS2008/2010。
点击这里下载
安装后,在VS中设置Tool->Options 选择Projects and Solutions中的VC++ Directories,将Visual Leak Detector安装路径中的include和lib路径设置Include Files和Library Files中,如有必要可以将安装路径下bin里的相应dll拷贝至System32下。
创建一个简单的工程,其中指针b所指向的内存没有被正确地释放。
- void leak()
- {
- int *b = new int[10];
- for (int i = 0; i < 10; ++i)
- {
- b[i] = i;
- }
- }
- int main()
- {
- leak();
- return 0;
- }
include<vld.h>,运行就能在output窗口看到效果啦。
输出的部分主要分为两块
Call Stack部分:
是泄露内存的调用堆栈,其中显示了泄露资源创建的位置,双击便可以定位到相应的代码部分。
Data部分:
即使泄露部分的内存内容。
注:在自己机器上VS2008上,用了下1.0和1.9b的版本,都出现了不同的问题(1.0版本不能定位泄露代码,1.9b没有正确检查出泄露)。2.1版本运行一切正常。