Visual C++内存泄露检测—VLD工具使用说明 .

摘要:
Visual C++内存泄漏检测-VLD工具说明I.VLD工具概述Visual LeakDetector是一个适用于Visual C++的免费内存泄漏检测工具。2、 VLD下载http://www.codeproject.com/tools/visualleakdetector.asp本文附带了vld1.0工具包,可在下载和解压缩后使用。复制。h文件复制到Visual C++的默认include目录,复制。lib文件复制到Visual C++的默认lib目录,并将dbghelp.dll复制到程序的运行目录。方法2:解压缩以获得vld。h、 vldapi。h、 vld.lib、vldmt.lib,vldmtdll.lib、dbghelp.dll和其他文件。4、 VLD可用于包括VLD。中的h。包含入口函数的cpp文件。

Visual C++内存泄露检测VLD工具使用说明

一.VLD工具概述

Visual Leak DetectorVLD)是一款用于Visual C++的免费的内存泄露检测工具。他的特点有:可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在文件及行号;可以得到泄露内存的完整数据;可以设置内存泄露报告的级别;并且是开源免费的。

二.VLD下载

http://www.codeproject.com/tools/visualleakdetector.asp

本文后附有vld1.0的工具包,下载解包后就可使用。

三.VLD安装

方法一:

解压之后得到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拷贝到你的程序的运行目录下。就完成安装了。

四.VLD使用

在包含入口函数的.cpp文件中包含vld.h就可以了。下面以一个例子进行说明(源程序见附录)

1. 加入头文件:

2.编译:

3.debug方式下运行:查看VC的输出信息:

内存泄露所在的位置

4查看VC输出信息:

"WARNING: Visual Leak Detector detected meory leaks!"

5.如果没有内存泄露,此输出的信息为:

"No memory leaks detected"

五.附录

1.测试用文件

#include "vld.h"

#include "iostream.h"

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

voidFunction1(char*p)

{

char *pTmp = new char[255];

memset(pTmp, 0x0, 255);

strncpy(pTmp, p, 255);

//delete pTmp;

}

intFunction2(void)

{

characString[] = "this is test!";

Function1(acString);

return1;

}

voidFunction3(void)

{

Function2();

}

intmain(void)

{

cout<< "begin.............."<< endl;

Function3();

cout<< "end................"<< endl;

return1;

}

2Vld1.0工具包

3.关于linux的内存泄露,可以使用valgrind工具进行检测。

免责声明:文章转载自《Visual C++内存泄露检测—VLD工具使用说明 .》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Delphi开发Linux版的kbmMW Server.NET中应用Ueditor(富文本编辑)的配置和使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux环境下实现对文件读写操作

Linux环境下实现对文件读写操作 ---- 今天分享一下在linux系统在实现对文件读写一些基本的操作,在这之前我们要掌握一些基本的技能在Linux环境下。比如查看命令和一个函数的具体用法,就是相当于查手册,在Linux下有一个man手册非常有用:man查询手册man 1 +命令 这里的1表示为查询的是Linux命令man 2 xxx 这里的2表示为查...

rpm 包安装的一些常用的命令以及 以及一些依赖包的查看

在安装  director ISO 时我们经常需要查看一些包的依赖关系:       #rpm -ql       #rpm -qa                 # rpm -qa|grep servicelog                  # rpm -qa vacpp*                        vacpp.rte-11....

myeclipse 在webinf/lib中导入包

今天用myeclipse的时候发现无法在web-inf/lib导入包,如果直接在工程上导入,则进入了一个referenced libraries的文件夹里,而web-inf/lib里面是没有jar包的。 在网上找了一些答案,下面的方法解决了疑惑: 你应该尽量避免使用外部包。正确并且规范的做法是:在你的项目下单独创建一个lib目录(也可在WEB-INF下建...

Linux中/usr与/var目录详解

Linux中/usr与/var目录详解 /usr文件系统  /usr 文件系统经常很大,因为所有程序安装在这里. /usr 里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local 下.这样可能在升级新版系统或新distribution时无须重新安装全部程序./usr/X11R6X Window系统的所有文件...

Linux上安装ImageMagick和JMagick

一、软件列表 ImageMagick-6.7.1-0.tar.gz jmagick-6.4.0-src.tar.gz jpegsrc.v6b.tar.gz libpng-1.5.4.tar.gz tiff-3.8.2.tar.gz freetype-2.3.11.tar.gz zlib-1.2.5.tar.bz2 二、安装过程 注意:如果安装过程中因为gc...

Win7安装Visual Studio Community失败

造冰箱的大熊猫@cnblogs 2020/4/19   从微软官网下载Visual Studio Community 2019的安装程序(Visual Studio Installer)。在Windows 7 32位计算机上安装时,安装程序先提示用户进行设置,然后开始下载文件,但每次下载完成后都会弹出“无法下载安装文件,请检查Internet连接,然后重试...