What is the best free memory leak detector for a C/C++ program and its plug-in DLLs?我有一个.exe和.exe加载的许多插件.dll模块。 (我都有两者的源代码。)跨平台(有源代码)的解决方案是理想的,但是该平台可以缩小到WinXP和Visual Studio(在我的例子中是7.1 / 2003)。 内置的VS泄漏检测器仅提供从中调用new / malloc的行,但是我有一个包装程序用于分配,因此完整的符号堆栈跟踪将是最佳选择。 该检测器还能够检测.exe及其随附的插件.dll模块中的泄漏。 我个人使用Visual Leak Detector,尽管它会在大块泄漏时引起较大的延迟(它会显示整个泄漏块的内容)。 如果您不想重新编译(如Visual Leak Detector所要求的),我建议您使用WinDbg,它既强大又快速(尽管使用起来并不像人们期望的那么容易)。 另一方面,如果您不想弄乱WinDbg,可以看看UMDH,它也是由Microsoft开发的,更容易学习。 看一下这些链接,以了解有关WinDbg,内存泄漏和一般内存管理的更多信息:
我在Rational Purify方面有很好的经验。我也听说过关于Valgrind的事情 对于我来说,我使用解脱器来定位泄漏点。我很满意。 我免费提供的内存分析器MemPro可让您比较2个快照,并为所有分配提供堆栈跟踪。
正如我的几个朋友所发布的,有许多免费的C ++检漏仪。
在Code Project上尝试Jochen Kalmbach的内存泄漏检测器。 |