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

本文介绍VLD(Visual Leak Detector)内存泄露检测工具的使用方法。VLD是一款免费的Visual C++内存泄露检测工具,支持获取内存泄露点的调用堆栈、泄露内存的数据等。文章提供VLD的下载链接、安装步骤,并通过示例代码演示如何在项目中应用VLD。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、VLD工具概述

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

二、VLD下载

http://www.codeproject.com/tools/visualleakdetector.asp
https://github.com/KindDragon/vld
https://archive.codeplex.com/?p=vld
本文后附有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"
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工具进行检测。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值