vs内存泄漏定位

本文详细介绍了如何在Visual Studio项目中使用Visual Leak Detector (VLD)定位内存泄漏问题,包括下载、安装、配置步骤,以及在实际开发过程中的注意事项和常见问题解决。通过实例说明,帮助开发者有效查找并修复内存泄漏问题。
摘要由CSDN通过智能技术生成

问题

最近在开发项目的过程中,遇到了内存暴涨,最后出现“std::bad_alloc”。苦于不能定位内存泄漏的位置,使用了 Visual Leak Detector,终于找到了内存泄漏的位置。

操作方法

先在到地址http://vld.codeplex.com/下载vld安装文件,然后进行安装,安装过程中需要安装程序会配置环境变量。我们需要记住安装目录。
安装完成后打开要检测的Visual Studio工程,我们需要在工程中配置:vld头文件目录和vld库目录。
选中游戏工程,打开菜单“项目”→ “属性”弹出工程属性对话框,如图所示,选择“配置属性”→“VC++目录” →“常规”,在右边的“包含目录”中添加C:\Program Files (x86)\Visual Leak Detector\include,其中C:\Program Files (x86)\Visual Leak Detector是我的vld安装目录。“库目录”中添加C:\Program Files (x86)\Visual Leak Detector\lib\Win32,注意配置目之间需要用分号分隔开。
在这里插入图片描述
如果在main.cpp中引入代码如下:

//包含vld的头文件
#include <vld.h>

接下来就可以愉快的进行内存泄漏问题的定位了。但是没想到友出现了问题,运行程序不能找到“vld_x86.dll”,好吧,那我就吧vld安装路径下的“vld_x86.dll”复制到调试程序的当前路径。
但是,依旧没有解决问题,又弹出了“应用程序无法正常启动”。经过万能的百度,将vld程序安装路径bin目录下的3个文件全部复制到到调试程序的当前路径。如图所示
在这里插入图片描述
终于可以愉快的进行内存泄漏问题的定位了。
运行程序…
注意:只能在debug模式下查看输出的日志。
运行工程,需要注意的是在程序运行过程中vld是没有堆栈输出的,但是日志会有输出vld的安装信息,日志信息如下:
Visual Leak Detector Version 2.4RC2 installed.
Ready for GLSL
Ready for OpenGL 2.0
… …
从日志中可以看到vld是否安装成功,以及安装的版本。要想看到vld检测报告需要退出程序后,才会在日志中输出信息
在这里插入图片描述
好了,快去查看一下你的代码有没有内存泄漏吧

资源

vld工具安装包
提取码:yyds

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值