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


当前回答

一些好的商业工具:

净化 确保+ +

其他回答

对于Visual c++,请尝试Visual Leak Detector。当我使用它时,它从一个新调用中检测到内存泄漏,并返回泄漏源代码中的实际行。最新版本可以在http://vld.codeplex.com/上找到。

Windows的调试工具中有Pageheap.exe部分。它是免费的,基本上是一个自定义的内存分配器/释放器。

参见http://support.microsoft.com/kb/286470

Purify怎么样?

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

试试Intel的Inspector XE产品,它可以帮助您检测内存和线程问题:http://software.intel.com/en-us/articles/intel-inspector-xe/