盘一盘几个内存泄漏检测工具
一、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://www.cnblogs.com/cnhack/articles/17327712.html

浙公网安备 33010602011771号