纵使千军万马可以挥霍,也不及逍遥自在独处江湖啊。
总觉得自己自从放弃百度,来到csdn后,写点技术,或者一点心得,总会不那么自由自在,分析原因,其一,就是真的在大公司做久了,好多事情,循规蹈矩的东西多啦。新鲜的探索真的没啥啦。其二,自己一直都有点悲却的心理,太easy或者研究太肤浅的东西,纵使羞于在这个技术火热的地盘上得瑟。
前段时间 ,查自己写的算法库里(当然也有公司之前人写的一部分),内存泄漏,因为在release版本下,就采用了最传统的,执行后使用windows任务管理器(windows task manager )看执行后,memory是否有增长。然后走查代码。
剩了几k后,总也查不出在哪啦。小同事就推荐我这个vld工具。是visual leak detecotor的简称。
只可以即便所有的内存检查工具都是针对DUBug版本的,而且这个是wind32程序。
用起来很简单,
下载个visual leak detector的工具包。
程序里动态将vld.lib加载进来。然后,在每一个需要检测的文件头inlude vld.h文件即可。
#include "C:\Program Files (x86)\Visual Leak Detector\include\vld.h"
#pragma comment(lib,"C:\\Program Files (x86)\\Visual Leak Detector\\lib\\Win32\\vld.lib")
int _tmain(int argc, _TCHAR* argv[])
{
int nTestNum= 5;
......
//CFastReg.cpp
#include "C:\Program Files (x86)\Visual Leak Detector\include\vld.h"
当执行后,如果有内存泄露,会在控制台上输出泄露的文件行号及调用堆栈。