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


当前回答

LeakDiag, UMDH, App Verifier, DebugDiag都是提高代码健壮性和发现内存泄漏的有用工具。

其他回答

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

免费工具DebugDiag将帮助查找内存并处理内存泄漏。

为了使DebugDiag工作,您不需要对程序进行配置。

http://www.microsoft.com/downloads/details.aspx?FamilyID=28BD5941-C458-46F1-B24D-F60151D875A3&displaylang=en

虽然它不是最简单或最直观的程序使用!确保你谷歌的教程和说明如何使用它。

所有分析器或多或少都包括检查内存泄漏,并在分配内存时显示堆栈。

我可以推荐英特尔并行检查器。使用简单,不需要重新编译。试运行期为30天。

GlowCode和AtromatedQA也包含这样的功能。他们都提供免费试用。

Compuware DevPartner(又名BoundsChecker)在对比中需要慢速的“仪器”重新编译,应用程序在检查错误时也会运行得更慢。和BoundsChecker不能工作与64位evsrions在所有。我们放弃了那个工具。

为什么不用Valgrind + Wine来调试你的Windows应用程序呢?看到 http://wiki.winehq.org/Wine_and_Valgrind

(Chromium使用这个来检查Windows版本的内存错误;看到 build.chromium.org 看看实验瀑布或记忆瀑布,寻找葡萄酒。)

还有记忆博士 dynamorio.org/drmemory.html

在Windows上查找c++应用程序中的内存泄漏