盘一盘几个内存泄漏检测工具

一、linux,Mac OS X

Valgrind是分析Linux和Mac OS x上各种内存问题的首选工具。它使用单独的工具进行特定的内存分析:如分析和内存检查。Valgrind在Windows上不可用,但由于内存问题通常不依赖于平台,因此也可以在Linux或Mac OS X上进行分析。

工具主页URL:https://valgrind.org/

下载地址URL:https://valgrind.org/downloads/current.html#current

(1-1)KCacheGrind

KCacheGrind是一款Valgrind分析结果的可视化工具。

(1-2)Massif Visualizer

Massif Visualizer是一个数据的可视化工具。配合Valgrind工具一起使用。

(1-3)AddressSanitizer

AddressSanitizer是一款内置在gcc 4.8和clang中内存监控工具。

二、Windows下的内存检测工具

(2-1)Deleaker

Deleaker是一款功能强大的内存检测工具,但要收费。 当安装成功后,会作为插件添加到QtCreaotr中,我们直接在QtCreator中使用即可:

地址URL:https://www.deleaker.com/

可以下载试用版本(有14天的期限),时间到又可以重新申请。

该工具兼容Visual c++ 6.0, Visual Studio 2005, 2008, 2010, 2012, 2013, 2015, 2017, 2019和2022,Delphi / c++ Builder / RAD Studio,和Qt Creator。兼容性还比较强。

(2-2)VLD

Visual Leak Detector (VLD)是一款用于Visual c++的内存泄漏检测工具。它的特点是:可以得到内存泄漏点的调用栈,如果可以,还可以得到它所在的文件和行号;可以获得泄漏内存的完整数据;您可以设置内存泄漏报告的级别;它是开源和免费的。美中不足的是,只能使用vc++编译器。关于Linux内存泄漏,可以使用valgrind工具来检测。

参考链接: https://kinddragon.github.io/vld/

(2-3)MTuner

工具地址:https://github.com/milostosic/MTuner

该工具在这篇文章中描述过:

内存分析工具一个...

(2-4)Diagnostic

Diagnostic 是一款免费,开源的工具,支持32/64位架构。

工具地址:https://sourceforge.net/projects/diagnostic/

(2-5)heob

heob工具免费,开源。已经集成到QtCreator中,用于检测缓冲区溢出和内存泄漏。

工具开源地址:https://github.com/ssbssa/heob

工具发布地址:https://github.com/ssbssa/heob/releases

(2-6)WonderLeak

收费。高性能的Windows堆和句柄分配分析器。软件界面如下:

工具下载地址:https://www.relyze.com/wonderleak_overview.html

三、总结

本文描述总结了Qt C++开发中常使用的内存分析、检测工具(linux平台和Windows平台),有些工具不仅适用于C++和具体的开发环境。


原文地址:
https://zhuanlan.zhihu.com/p/608640068?utm_id=0

posted @ 2023-04-17 22:05  晴云孤魂  阅读(746)  评论(0)    收藏  举报