对于 C/C++ 程序及其插件 DLL,最好的免费内存泄漏检测器是啥? [关闭]

Posted

技术标签:

【中文标题】对于 C/C++ 程序及其插件 DLL,最好的免费内存泄漏检测器是啥? [关闭]【英文标题】:What is the best free memory leak detector for a C/C++ program and its plug-in DLLs? [closed]对于 C/C++ 程序及其插件 DLL,最好的免费内存泄漏检测器是什么? [关闭] 【发布时间】:2010-09-06 17:53:51 【问题描述】:

我有一个 .exe 和许多 .exe 加载的插件 .dll 模块。 (我有两者的源代码。)跨平台(有源代码)解决方案是理想的,但平台可以缩小到 WinXP 和 Visual Studio(在我的例子中是 7.1/2003)。

内置的 VS 泄漏检测器仅给出调用 new/malloc 的行,但我有一个用于分配的包装器,因此最好使用完整的符号堆栈跟踪。

检测器还能够检测 .exe 及其随附的插件 .dll 模块中的泄漏。

【问题讨论】:

saunalahti.fi/~tarmpika/diagnostic 我尝试了很多内存泄漏检测器,很难将它们全部计算在内。其中一些崩溃了,其中一些产生了无效的结果,其中一些根本没有帮助。支持托管/本机/32 位和 64 位架构。不过这暂时不是免费的。 已发布源代码:sourceforge.net/projects/diagnostic 哦,太好了! (顺便说一句,我没有意识到这变得离题了.... 5.5 年后!:)) 耸耸肩 这仍然与编程超级相关。不知道这还会去哪里。 【参考方案1】:

我个人使用Visual Leak Detector,虽然它会在大块泄漏时造成很大的延迟(它会显示整个泄漏块的内容)。

【讨论】:

非常有用且非常简单的工具!我喜欢。感谢您的提示! 诊断 - 内存泄漏检测:sourceforge.net/projects/diagnostic 与 Visual Leak Detector 相比,它不需要与宿主项目进行任何集成(除非您希望将内存泄漏检测作为内置应用程序)【参考方案2】:

如果您不想重新编译(因为 Visual Leak Detector 需要),我会推荐 WinDbg,它既强大又快速(尽管它不像人们希望的那样易于使用)。

另一方面,如果你不想乱用WinDbg,你可以看看UMDH,它也是微软开发的,更容易学习。

查看这些链接以了解有关 WinDbg、内存泄漏和一般内存管理的更多信息:

Memory Leak Detection Using Windbg Memory Leak Detection in MFC Common WinDbg Commands (Thematically Grouped) C/C++ Memory Corruption And Memory Leaks The Memory Management Reference Using LeakDiag to Debug Unmanaged Memory Leaks Heap: Pleasures and Pains

【讨论】:

不幸的是,第一个链接不再起作用... 我添加了更多链接并删除了失败的链接。希望对您有所帮助!【参考方案3】:

我对@9​​87654321@ 有很好的体验。我也听说过有关 Valgrind 的好消息

【讨论】:

【参考方案4】:

我使用Deleaker 来定位泄漏点。我很高兴。

【讨论】:

【参考方案5】:

我的免费内存分析器 MemPro 允许您比较 2 个快照并提供所有分配的堆栈跟踪。

【讨论】:

【参考方案6】:

在代码项目上尝试Jochen Kalmbach's Memory Leak Detector。 我上次检查时,最新版本的 URL 位于 cmets 中的某个位置。

【讨论】:

【参考方案7】:

正如我的几个朋友所发布的,有许多免费的 C++ 泄漏检测器。 所有这些都会在运行代码时产生开销,大约慢 20%。 我更喜欢 Visual Leak Detector for Visual C++ 2008/2010/2012,您可以从 -enter link description here 下载源代码。

【讨论】:

以上是关于对于 C/C++ 程序及其插件 DLL,最好的免费内存泄漏检测器是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

最好的 C/C++ 中文社区

用于C / C ++应用程序的开源PDF库? [关闭]

jetbrains ide support插件怎么用

python可以实现类似插件扩展吗?

Qt编写自定义控件插件开放动态库dll使用(永久免费)

MEF - 插件及其引用的程序集