内存泄漏检测工具

1、VS内置工具,使用方法参考下列代码

参考博客:C-VS2019 内存泄漏检测_mrbone11的博客-CSDN博客_vs2019内存泄漏检测工具平常编写C代码时,如果忘记释放已分配的内存,就会造成内存泄漏,这时我们有两种方式确认造成内存泄漏的位置,一种是直接检查代码中所有涉及到内存分配的地方是否最后都进行释放了,这种方法的缺点在于在代码量较大时手工检查工作量较大,另外如果使用第三方库,一方面我们可能对库何时分配了内存不甚了解,另一方面单独检查每个分配内存的函数也较为繁琐。另一种方法是借助 Visual Studio 调试器和 C 运行时 (CRT) 库。使用方法如下参考:https://www.cnblogs.com/xingchen.https://blog.csdn.net/mrbone11/article/details/106861342

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

using namespace std;

#ifdef _DEBUG
#ifndef DBG_NEW
#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
#define new DBG_NEW
#endif
#endif  // _DEBUG

int main()
{
	_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);

	int* pA = new int;

	return 0;
}

2、使用内存泄漏检测工具 VLD

参考博客:

VS2019编译 内存泄漏检测工具VLD_youyicc-CSDN博客_vs2019内存泄漏检测工具目前官网上的安装包支持的最高VS版本是VS2015,本人现在用VS2019习惯了,VLD不支持VS2019,所以只有手动编译源码,下面记录一下编译过程:下载源码:https://github.com/KindDragon/vld文件目录结构如下:![在这里插入图片描述](https://img-blog.csdnimg.cn/20191230103214715.png?x-oss-proc...https://blog.csdn.net/youyicc/article/details/103762127

vld 官方文档:Home · KindDragon/vld Wiki · GitHub

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目前有一款常用的内存泄漏检测工具是Visual Leak Detector(VLD)。 VLD是一款免费的内存泄漏检测工具,适用于Visual C环境。它能够为每个泄漏的块提供完整的堆栈跟踪信息,包括源文件和行号。同时,VLD可以检测大多数类型的进程内内存泄漏,包括基于COM的泄漏和纯Win32基于堆的泄漏。此外,VLD还支持设置过滤指定的模块,不参与内存泄漏检查,并提供泄漏块的完整数据转储。你可以将泄漏报告保存到文件或发送到调试器,并可以设置不同的详细级别。VLD是一个已经打包的库,使用时无需编译其源代码,只需引入头文件即可。它的源代码使用GNU许可发布,并有详尽的文档和注释,适合想深入了解堆内存管理的读者使用。 [2] 另外,还有一种内存泄漏检测工具是QT内置的功能。当一个QObject正在接受事件队列时,如果中途被销毁,可能会导致问题。为了避免这种情况,推荐使用QObject的deleteLater()函数来删除QObject对象。这个函数会发送一个删除事件到事件系统,让所有事件都处理完之后再清除内存。而且,即使多次调用deleteLater()函数也不会出现问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Qt / MSVC 中使用内存泄露检测工具 VLD(Visual Leak Detector)](https://blog.csdn.net/weixin_41863029/article/details/128482295)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Qt内存泄漏总结(包括检测工具)](https://blog.csdn.net/a844651990/article/details/78814076)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值