我正在寻找Valgrind来帮助提高我的C编码/调试,当我发现它只适用于Linux时——我没有其他需要或兴趣将我的操作系统转移到Linux,所以我想知道是否有同样好的Windows程序。


当前回答

一些好的商业工具:

净化 确保+ +

其他回答

在与Visual Studio结合使用时,我通常使用Visual Leak Detector或简单地使用_CrtDumpMemoryLeaks(),这是一个win32 api调用。两者都不花哨,但都能完成任务。

只是一个想法,您还可以实现一个内存分配器,并跟踪所有对malloc和free的调用。然而,这对于某些项目来说可能太多了。

用户模式转储堆(UMDH)实用程序与操作系统一起工作,分析特定进程的Windows堆分配。这是微软提供的一个很好的免费工具。这是一个小教程“如何使用Umdh.exe来查找内存泄漏”。

Parasoft insur++一直是可靠的:

http://www.parasoft.com/jsp/products/insure.jsp?itemId=63

您可能想了解Mozilla在内存泄漏方面所做的工作。他们工具箱中的一个工具是用作内存泄漏检测器的Hans Boehm垃圾收集器。