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

StackOverflow https://stackoverflow.com/questions/25730

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

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

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

有帮助吗?

解决方案

我个人使用 视觉检漏仪, ,尽管当大块泄漏时它可能会导致很大的延迟(它显示整个泄漏块的内容)。

其他提示

如果您不想重新编译(按照 Visual Leak Detector 的要求),我建议 数据库管理工具, ,它既强大又快速(尽管它并不像人们期望的那么容易使用)。

另一方面,如果你不想搞乱WinDbg,你可以看看 UMDH, ,也是微软开发的,比较容易学。

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

我有过很好的经历 理性净化. 。我也听说过有关 Valgrind 的好消息

至于我,我使用 deleaker 来定位泄漏。我很满意。

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

尝试 Jochen Kalmbach 的内存泄漏检测器 关于代码项目。当我上次检查时,最新版本的 URL 位于评论中的某个位置。

正如我的几个朋友所发布的,有许多免费的 C++ 泄漏检测器。所有这些都会在运行代码时产生开销,大约慢 20%。我更喜欢 适用于 Visual C++ 2008/2010/2012 的视觉检漏仪 ,您可以从以下位置下载源代码 - 在此输入链接描述 .

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top