在使用UMDH轻量级内存泄露分析工具前,创建一个内存泄露的C++程序
工具:Visual Studio 2013
语言:C++
创建C++项目
编写代码
#include "stdafx.h"
#include <cstring>
#include <iostream>
#include <windows.h>
#include<sstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
while (TRUE){
char *p = new char[65536];
memset(p, 0, 65536);
Sleep(10);
cout << "newChar" << endl;
}
return 0;
}
build项目
可以运行项目或者rebuild项目
运行项目,debug或者release模式
build或者rebuild项目
运行exe文件
这个时候在项目路径下生成Debug文件夹
运行newChar.exe
文件
这个时候发现内存在持续飙升,搞定
但是将Debug文件拷到另外一台电脑执行时,发现报错
需要将相关的.dll文件拷到Debug文件夹中
搞定,可以执行之
问题
运行.exe程序,使用UMDH分析时,报错
现在将C++项目切换为64bit
搞定后发现仍然报同样的错误,原来64bit的build后的路径并不是原来的文件路径
好,重新运行64bit的路径下的.exe文件
可成功识别为64bit