Visual C++内存泄露检测—VLD工具使用说明[转]
2015-01-22 10:01
274 查看
Visual C++内存泄露检测—VLD工具使用说明
[b]一. [/b][b]VLD[/b]工具概述
Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。他的特点有:可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号; 可以得到泄露内存的完整数据; 可以设置内存泄露报告的级别;并且是开源免费的。
[b]二. [/b][b]VLD[/b]下载
http://www.codeproject.com/tools/visualleakdetector.asp
本文后附有vld1.0的工具包,下载解包后就可使用。
[b]三. [/b][b]VLD[/b]安装
方法一:
解压之后得到vld.h, vldapi.h, vld.lib, vldmt.lib, vldmtdll.lib, dbghelp.dll等文件。将.h文件拷贝到Visual C++的默认include目录下,将.lib文件拷贝到Visual C++的默认lib目录下,将dbghelp.dll拷贝到你的程序的运行目录下,便安装完成了
方法二:
解压之后得到vld.h, vldapi.h, vld.lib, vldmt.lib, vldmtdll.lib, dbghelp.dll等文件。将.h文件和.lib文件拷贝到你要检测的工程文件所在的目录里(只针对此工程),将dbghelp.dll拷贝到你的程序的运行目录下。就完成安装了。
[b]四. [/b][b]VLD[/b]使用
在包含入口函数的.cpp文件中包含vld.h就可以了。下面以一个例子进行说明(源程序见附录):
1. 加入头文件:
2. 编译:
3. 在debug方式下运行:查看VC的输出信息:
4.查看VC输出信息:
"WARNING: Visual Leak Detector detected meory leaks!"
5. 如果没有内存泄露,此输出的信息为:
"No memory leaks detected"
[b]五. [/b]附录
1.测试用文件
#include "vld.h"
#include "iostream.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void Function1(char *p)
{
char *pTmp = new char[255];
memset(pTmp, 0x0, 255);
strncpy(pTmp, p, 255);
//delete pTmp;
}
int Function2(void)
{
char acString[] = "this is test!";
Function1(acString);
return 1;
}
void Function3(void)
{
Function2();
}
int main(void)
{
cout << "begin.............." << endl;
Function3();
cout << "end................" << endl;
return 1;
}
2.Vld1.0工具包
3.关于linux的内存泄露,可以使用valgrind工具进行检测。
[b]一. [/b][b]VLD[/b]工具概述
Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。他的特点有:可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号; 可以得到泄露内存的完整数据; 可以设置内存泄露报告的级别;并且是开源免费的。
[b]二. [/b][b]VLD[/b]下载
http://www.codeproject.com/tools/visualleakdetector.asp
本文后附有vld1.0的工具包,下载解包后就可使用。
[b]三. [/b][b]VLD[/b]安装
方法一:
解压之后得到vld.h, vldapi.h, vld.lib, vldmt.lib, vldmtdll.lib, dbghelp.dll等文件。将.h文件拷贝到Visual C++的默认include目录下,将.lib文件拷贝到Visual C++的默认lib目录下,将dbghelp.dll拷贝到你的程序的运行目录下,便安装完成了
方法二:
解压之后得到vld.h, vldapi.h, vld.lib, vldmt.lib, vldmtdll.lib, dbghelp.dll等文件。将.h文件和.lib文件拷贝到你要检测的工程文件所在的目录里(只针对此工程),将dbghelp.dll拷贝到你的程序的运行目录下。就完成安装了。
[b]四. [/b][b]VLD[/b]使用
在包含入口函数的.cpp文件中包含vld.h就可以了。下面以一个例子进行说明(源程序见附录):
1. 加入头文件:
2. 编译:
3. 在debug方式下运行:查看VC的输出信息:
内存泄露所在的位置 |
"WARNING: Visual Leak Detector detected meory leaks!"
5. 如果没有内存泄露,此输出的信息为:
"No memory leaks detected"
[b]五. [/b]附录
1.测试用文件
#include "vld.h"
#include "iostream.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void Function1(char *p)
{
char *pTmp = new char[255];
memset(pTmp, 0x0, 255);
strncpy(pTmp, p, 255);
//delete pTmp;
}
int Function2(void)
{
char acString[] = "this is test!";
Function1(acString);
return 1;
}
void Function3(void)
{
Function2();
}
int main(void)
{
cout << "begin.............." << endl;
Function3();
cout << "end................" << endl;
return 1;
}
2.Vld1.0工具包
3.关于linux的内存泄露,可以使用valgrind工具进行检测。
相关文章推荐
- Visual C++内存泄露检测—VLD工具使用说明
- Visual C++内存泄露检测—VLD工具使用说明 .
- Visual C++内存泄露检测—VLD工具使用说明
- Visual C++内存泄露检测—VLD工具使用说明
- 【VS开发】Visual C++内存泄露检测—VLD工具使用说明
- Visual C++内存泄露检测—VLD工具使用说明
- Visual C++内存泄露检测—VLD工具使用说明d
- Visual C++内存泄露检测—VLD工具使用说明
- Visual C++内存泄露检测—VLD工具使用说明
- 使用Visual Leak Detector for Visual C++ 捕捉内存泄露---Visual C++内存泄露检测—VLD工具使用说明
- Visual C++内存泄露检测—VLD工具使用说明
- Visual C++内存泄露检测—VLD工具使用说明
- Visual C++内存泄露检测—VLD工具使用说明 .
- Visual C++内存泄露检测—VLD工具使用说明
- Visual C++内存泄露检测—VLD工具使用说明
- isual C++内存泄露检测—VLD工具使用说明
- 内存泄露检测工具[VLD, LeakDiag]
- Valgrind内存读写越界检测工具使用说明
- android内存泄露检测工具--LeakCanary 中文使用说明
- 内存泄漏检测工具VLD在VS2010中的使用举例