【性能分析】内存泄露C++程序

来源:互联网 发布:菜刀切到手 知乎 编辑:程序博客网 时间:2024/06/01 21:15

在使用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

原创粉丝点击