内存泄漏的检测工具

作者&投稿:费骆 (若有异议请与网页底部的电邮联系)
Windows 下有哪些内存泄露监测工具~

1. ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。
2. Dmalloc-Debug Malloc Library.
3. Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。
4. Leaky-Linux下检测内存泄漏的程序。
5. LeakTracer-Linux、Solaris和HP-UX下跟踪和分析C++程序中的内存泄漏。
6. MEMWATCH-由Johan Lindh编写,是一个开放源代码C语言内存错误检测工具,主要是通过gcc的precessor来进行。
7. Valgrind-Debugging and profiling Linux programs, aiming at programs written in C and C++.
8. KCachegrind-A visualization tool for the profiling data generated by Cachegrindand Calltree.
9. Leak Monitor-一个Firefox扩展,能找出跟Firefox相关的泄漏类型。
10. IE Leak Detector (Drip/IE Sieve)-Drip和IE Sieve leak detectors帮助网页开发员提升动态网页性能通过报告可避免的因为IE局限的内存泄漏。
11. Windows Leaks Detector-探测任何Win32应用程序中的任何资源泄漏(内存,句柄等),基于Win API调用钩子。
12. SAP Memory Analyzer-是一款开源的JAVA内存分析软件,可用于辅助查找JAVA程序的内存泄漏,能容易找到大块内存并验证谁在一直占用它,它是基于Eclipse RCP(Rich Client Platform),可以下载RCP的独立版本或者Eclipse的插件。
13. DTrace-即动态跟踪Dynamic Tracing,是一款开源软件,能在Unix类似平台运行,用户能够动态检测操作系统内核和用户进程,以更精确地掌握系统的资源使用状况,提高系统性能,减少支持成本,并进行有效的调节。
14. IBM Rational PurifyPlus-帮助开发人员查明C/C++、托管.NET、Java和VB6代码中的性能和可靠性错误。PurifyPlus 将内存错误和泄漏检测、应用程序性能描述、代码覆盖分析等功能组合在一个单一、完整的工具包中。
15. Parasoft Insure++-针对C/C++应用的运行时错误自动检测工具,它能够自动监测C/C++程序,发现其中存在着的内存破坏、内存泄漏、指针错误和I/O等错误。并通过使用一系列独特的技术(SCI技术和变异测试等),彻底的检查和测试我们的代码,精确定位错误的准确位置并给出详细的诊断信息。能作为Microsoft Visual C++的一个插件运行。
16. Compuware DevPartner for Visual C++ BoundsChecker Suite-为C++开发者设计的运行错误检测和调试工具软件。作为Microsoft Visual Studio和C++ 6.0的一个插件运行。
17. Electric Software GlowCode-包括内存泄漏检查,code profiler,函数调用跟踪等功能。给C++和.Net开发者提供完整的错误诊断,和运行时性能分析工具包。
18. Compuware DevPartner Java Edition-包含Java内存检测,代码覆盖率测试,代码性能测试,线程死锁,分布式应用等几大功能模块。
19. Quest JProbe-分析Java的内存泄漏。
20. ej-technologies JProfiler-一个全功能的Java剖析工具,专用于分析J2SE和J2EE应用程序。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler直觉式的GUI让你可以找到效能瓶颈、抓出内存泄漏、并解决执行绪的问题。4.3.2注册码:A-G666#76114F-1olm9mv1i5uuly#0126
21. BEA JRockit-用来诊断Java内存泄漏并指出根本原因,专门针对Intel平台并得到优化,能在Intel硬件上获得最高的性能。
22. SciTech Software AB .NET Memory Profiler-找到内存泄漏并优化内存使用针对C#,VB.Net,或其它.Net程序。
23. YourKit .NET & Java Profiler-业界领先的Java和.NET程序性能分析工具。
24. AutomatedQA AQTime-AutomatedQA的获奖产品performance profiling和memory debugging工具集的下一代替换产品,支持Microsoft, Borland, Intel, Compaq 和 GNU编译器。可以为.NET和Windows程序生成全面细致的报告,从而帮助您轻松隔离并排除代码中含有的性能问题和内存/资源泄露问题。支持.Net 1.0,1.1,2.0,3.0和Windows 32/64位应用程序。
25. JavaScript Memory Leak Detector-微软全球产品开发欧洲团队(Global Product Development- Europe team, GPDE) 发布的一款调试工具,用来探测JavaScript代码中的内存泄漏,运行为IE系列的一个插件。

(
这里
,和
这里
)

VS
本身即具有内存泄露检测机制,只需做如下设置,在
debug
模式下以
F5
运行:

方法一:

//
在入口函数
cpp
中添加以下定义和头文件

#define CRTDBG_MAP_ALLOC
#include
#include
在入口函数中包含

_CrtDumpMemoryLeaks();

即可检测到内存泄露


以如下测试函数为例:

int main()
{
char* pChars = new char[10];
_CrtDumpMemoryLeaks();
return 0;
}
F5
运行输出窗口会得到:

Detected memory leaks!
Dumping objects ->
{126} normal block at 0x002A4630, 10 bytes long.
Data: <




> CD CD CD CD CD CD CD CD CD CD
Object dump complete.
注意:

1.

VS2010
下测试的时候,发现
_CrtDumpMemoryLeaks();
这句必须放在
函数结束处
,放
在主函数入口处输出窗口不会输出内存泄露信息

2.{}
中的数字指明这块内存是程序中总计第几个被申请的,这种方法没有行号和其他信息输
出。我们可以定义:

#ifdef _DEBUG
#define new
new(_NORMAL_BLOCK, __FILE__, __LINE__)
#endif
输出:

Detected memory leaks!
Dumping objects -

部分工具
1.ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。
2.Dmalloc-Debug Malloc Library.
3.Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。
4.Leaky-Linux下检测内存泄漏的程序。
5.LeakTracer-Linux、Solaris和HP-UX下跟踪和分析C++程序中的内存泄漏。
6.MEMWATCH-由Johan Lindh编写,是一个开放源代码C语言内存错误检测工具,主要是通过gcc的precessor来进行。
7.Valgrind-Debugging and profiling Linux programs, aiming at programs written in C and C++.
8.KCachegrind-A visualization tool for the profiling data generated by Cachegrind and Calltree.
9.IBM Rational PurifyPlus-帮助开发人员查明C/C++、托管.NET、Java和VB6代码中的性能和可靠性错误。PurifyPlus 将内存错误和泄漏检测、应用程序性能描述、代码覆盖分析等功能组合在一个单一、完整的工具包中。
10.ParasoftInsure++-针对C/C++应用的运行时错误自动检测工具,它能够自动监测C/C++程序,发现其中存在着的内存破坏、内存泄漏、指针错误和I/O等错误。并通过使用一系列独特的技术(SCI技术和变异测试等),彻底的检查和测试我们的代码,精确定位错误的准确位置并给出详细的诊断信息。能作为MicrosoftVisual C++的一个插件运行。
11.Compuware DevPartner for Visual C++ BoundsChecker Suite-为C++开发者设计的运行错误检测和调试工具软件。作为Microsoft Visual Studio和C++ 6.0的一个插件运行。
12.Electric Software GlowCode-包括内存泄漏检查,code profiler,函数调用跟踪等功能。给C++和.Net开发者提供完整的错误诊断,和运行时性能分析工具包。
13.Compuware DevPartner Java Edition-包含Java内存检测,代码覆盖率测试,代码性能测试,线程死锁,分布式应用等几大功能模块。
14.Quest JProbe-分析Java的内存泄漏。
15.ej-technologies JProfiler-一个全功能的Java剖析工具,专用于分析J2SE和J2EE应用程序。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。
16.BEAJRockit-用来诊断Java内存泄漏并指出根本原因,专门针对Intel平台并得到优化,能在Intel硬件上获得最高的性能。




内存泄漏检测工具
Valgrind是一款广泛使用的工具,专注于调试和分析C和C++程序,对于内存泄漏和其他性能问题的诊断非常强大。KCachegrind作为Valgrind的可视化工具,可以深入理解Cachegrind和Calltree生成的性能数据。IBM Rational PurifyPlus是一个全面的工具包,集成了内存错误和泄漏检测、性能描述和代码覆盖率分析等功能,尤其适用于C...

vld2、内存泄露检测工具
VLD,全称为Visual Leak Detector,是一款专为Visual C++设计的开源内存泄露检测工具。它在检测到内存泄露的同时,还具有显著的特性,如:提供内存泄露点的调用堆栈信息(包括所在文件和行号),泄露内存的完整数据,设置不同级别的内存泄露报告,以及作为一个编译时的库,无需源代码编译即可使用。用户只需要...

如何检查内存泄露问题
4.Leaky-Linux下检测内存泄漏的程序。5.LeakTracer-Linux、Solaris和HP-UX下跟踪和分析C++程序中的内存泄漏。6.MEMWATCH-由Johan Lindh编写,是一个开放源代码C语言内存错误检测工具,主要是通过gcc的precessor来进行。7.Valgrind-Debugging and profiling Linux programs, aiming at programs written in C...

.Net内存泄露内存泄露诊断工具
首先,测定性能计数器是定位内存泄露的一种常用手段。Windows操作系统自带的性能监视器(perfmon.msc)是一个实用的工具,可以通过它监控应用程序的内存使用情况,包括分配、使用和释放的内存数据,从而判断是否存在内存泄露迹象。

Linux内存泄漏问题分析工具
Valgrind则是一个仿真调试工具集,用于内存泄漏检测。安装后,通过一系列选项如`--tool=memcheck --leak-check=full`来运行程序并分析。ASan,即Address Sanitizer,是Google开发的内存地址错误检查器,集成在编译器中,通过添加编译选项如`-fsanitize=address`来启用,可实时检测内存错误并记录详细信息。对...

LeakDiag内存泄漏检测工具V125正式版LeakDiag内存泄漏检测工具V125正 ...
LeakDiag是一款功能强大的内存泄漏检测工具。该软件采用了微软的Detours技术,拦截指定内存分配的调用并跟踪各种调用栈,可以精确找到内存泄露一直到代码行我们甚至可以看见请求分配的代码行。使用C或者C++编程的时候,最担心的应该还是内存泄漏问题。通常情况下检测内存泄漏的工具有很多,大致分为二种,一种是...

基于ebpf的性能工具-bpftrace实战(内存泄漏)
在软件开发中,内存问题常是棘手的难题。为解决内存问题,如Valgrind等工具不可或缺。然而,本文将重点介绍bpftrace,一个强大的实时内存泄漏检测工具,它能帮助开发者精准定位代码中的内存泄漏问题。以程序mem_check.c为例,其中包含一个故意造成的内存泄漏。代码中,我们先申请5次16字节内存未释放,然后...

常见的内存泄漏原因及解决方法
1、MAT是一款强大的内存分析工具,功能繁多而复杂。 2、LeakCanary则是由Square开源的一款轻量级的第三方内存泄漏检测工具,当检测到程序中产生内存泄漏时,它将以最直观的方式告诉我们哪里产生了内存泄漏和导致谁泄漏了而不能被回收。由于单例的静态特性使得其生命周期和应用的生命周期一样长,如果一个...

如何测试一个软件是否内存泄漏,怎么测试?具体点,各位大侠们!!!_百度知...
3.Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。4.Leaky-Linux下检测内存泄漏的程序。5.LeakTracer-Linux、Solaris和HP-UX下跟踪和分析C++程序中的内存泄漏。6.MEMWATCH-由Johan Lindh编写,是一个开放源代码C语言内存错误检测工具,主要是通过gcc的precessor来进行。7.Valgrind-...

如何检测内存泄漏
可以使用相应的软件测试工具对软件进行检测。1. ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。2. Dmalloc-Debug Malloc Library.3. Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。4. Leaky-Linux下检测内存泄漏的程序。5. LeakTracer-...

东乌珠穆沁旗15345012450: 内存泄漏测试工具 -
原瞿卓菲: 业界用的比较多的:BoundsChecker,Purify(我个人比较推荐这个)

东乌珠穆沁旗15345012450: 如何检测C++的内存泄漏,用哪些工具? -
原瞿卓菲: 本文浅谈一下C++内存泄漏的检测,首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复.最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck工具,功能非常强大,相信做C...

东乌珠穆沁旗15345012450: Windows 下有哪些内存泄露监测工具 -
原瞿卓菲: Purify Bounds Checker Coverity (basically its a code analyzer but, it will catch memory leak in static ) Glow Code dmalloc ccmalloc NJAMD YAMD Valgrind mpatrol

东乌珠穆沁旗15345012450: 内存泄漏测试工具
原瞿卓菲: BoundsChecker6.5_VC++ 这个软件可以检测内存泄漏.

东乌珠穆沁旗15345012450: 内存检测工具哪个好 -
原瞿卓菲: 测试内存兼容性一般使用MemTest、RightMark Memory Analyzer这样的内存专用测试工具以及PCMARK 这样的整机测试工具还有拷机软件sp2004(主要针对CPU和内存)、BurnInTest(该软件运行时,各部件都会进入高强度的工作状态). 补充一句 CPU-Z不能进行内存测试

东乌珠穆沁旗15345012450: 我怀疑内存条坏了,请大家推荐个内存检测软件? -
原瞿卓菲: Memtest86+ V2.01 内存检测软件Memtest86是一款免费开源的内存测试软件,测试准确度比较高,内存的隐性问题也能检查出来!也是一款基于Linux核心的测试程序.许 多内存检测软件一样,Memtest86不能检测电脑的100%的内存容量.但是它...

东乌珠穆沁旗15345012450: 求windows下好用内存泄露检测工具
原瞿卓菲: Debug Diagnostic Tool http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en 这个非常好用,直接就可以查任何windows程序的内存泄露.

东乌珠穆沁旗15345012450: linux中检查内存泄漏的工具有哪些 -
原瞿卓菲: Valgrind 是一款 Linux下(支持 x86、x86_64和ppc32)程序的内存调试工具,它可以对编译后的二进制程序进行内存使用监测(C语言中的malloc和free,以及C++中的new和delete),找出内存泄漏问题.

东乌珠穆沁旗15345012450: 怎么测试android 内存泄露 -
原瞿卓菲: 如何查看内存泄露主要有2种方法借助工具,查看.借助adb命令来查看.【主要原理】借助工具来查看泄露的原因.详细实现方式【工具查看】常用工具有很多例如:1.功能强大PC端检测工具,如MemoryAnalyzer运行在PC端抓取...

东乌珠穆沁旗15345012450: vc内存泄漏工具 -
原瞿卓菲: 推荐BoundsChecker,非常好用你不许做任何设置,装了后即可.编译(F5)你的程序时,如果由内存泄漏,它就会告诉你哪儿哪儿泄漏了 vc自带的有Memory check的工具

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网