使用visual leak detector(vld)查找内存泄露
下载和安装就不用说了,网上到处都可以下载到,安装也就是很傻瓜的,此处略过。
一、说下它的优点吧:
1、可以得到内存泄露点的堆栈,这个太有用了,如果某个有内存泄露的地方被多次调用,那么排查也非常耗时,但是如果有堆栈那就不同了,可以直接定位。
2、可以得到内存泄露的完整数据,包括内存的地址,内存的大小和内存的结构,够详细了吧!如下图:
3、简单好用:只需要包含vld的头文件和库文件,include <vld.h>到代码中,就可以开始了。
4、vld的源码使用GNU许可发布,可以深入了解它的原理!
二、使用方法:
其实我在上面已经说了,还是再详细点吧:
1、将vld的include目录添加到vc的包含路径;
2、将vld的lib目录添加到vc的库路径;
3、在工程的头文件中添加:#include <vld.h>,我是将这个添加到了stdafx.h中,这样可以监控整个工程了。
4、编译、调试,看内存泄露吧。