我有一个 .exe 和许多 .exe 加载的插件 .dll 模块。(我有两者的源代码。)跨平台(有源代码)解决方案将是理想的,但该平台可以缩小到 WinXP 和 Visual Studio(在我的情况下为 7.1/2003)。
内置的 VS 泄漏检测器仅给出调用 new/malloc 的行,但我有一个用于分配的包装器,因此最好使用完整的符号堆栈跟踪。
检测器还能够检测 .exe 及其随附的插件 .dll 模块中的泄漏。
我有一个 .exe 和许多 .exe 加载的插件 .dll 模块。(我有两者的源代码。)跨平台(有源代码)解决方案将是理想的,但该平台可以缩小到 WinXP 和 Visual Studio(在我的情况下为 7.1/2003)。
内置的 VS 泄漏检测器仅给出调用 new/malloc 的行,但我有一个用于分配的包装器,因此最好使用完整的符号堆栈跟踪。
检测器还能够检测 .exe 及其随附的插件 .dll 模块中的泄漏。
我个人使用Visual Leak Detector,尽管当大块泄漏时它会导致很大的延迟(它显示整个泄漏块的内容)。
我对Rational Purify有很好的体验。我也听说过有关 Valgrind 的好消息
至于我,我使用Deleaker来定位泄漏。我很满意。
我免费提供的内存分析器MemPro允许您比较 2 个快照并为所有分配提供堆栈跟踪。
在 Code Project 上尝试Jochen Kalmbach 的 Memory Leak Detector 。我上次检查时,最新版本的 URL 位于评论中。
正如我的几个朋友所发布的,有许多免费的 C++ 泄漏检测器。所有这些都会在运行代码时产生开销,大约慢 20%。我更喜欢Visual C++ 2008/2010/2012 的 Visual Leak Detector,你可以从这里下载源代码 -在此处输入链接描述。