是否有良好的Valgrind替代Windows?

当我发现它仅用于Linux时,我正在考虑Valgrind来帮助改进我的C编码/调试 - 我没有其他需要或有兴趣将我的操作系统迁移到Linux,所以我想知道是否有一个同样适用于Windows的程序。


一些更好的商业工具:

  • 净化
  • 保证++

  • 正如jakobengblom2指出的那样,valgrind有一套工具。 取决于你在谈论哪一个有不同的窗口柜台部分。 我只会在这里提到OSS或免费工具。

    1. MemCheck:

    记忆博士。 它是一个相对较新的工具,在Windows 7上运行得非常好。我最喜欢的功能是在报告中将相同的泄漏分配堆栈分组。

    http://code.google.com/p/drmemory/

    我也使用UMDH(http://support.microsoft.com/kb/268343),发现它安静有用,易于安装。 它从Win2000运行到Win7。

    AppVerifier是Windows本机代码开发人员必备的swissknife,它的“内存”检查器可以做类似的工作http://msdn.microsoft.com/en-us/library/dd371695%28v=vs.85%29.aspx

    2. Callgrind:

    我最喜欢的是verysleepy(http://www.codersnotes.com/sleepy)它很小但非常有用且易于使用。

    如果您需要更多功能,AMD CodeAnalyst™性能分析器是免费的:http://developer.amd.com/documentation/videos/pages/introductiontoamdcodeanalystperformanceanalyzer.aspx

    Windows性能分析工具从Microsoft免费,不太容易使用,但如果您愿意花时间完成工作,则可以完成这项工作。 http://blogs.microsoft.com/zh-cn/performance_toolkit.aspx下载地址:http://blogs.microsoft.com/zh-cn/performance_toolkit.aspx / cc752957

    3.地块:

    Windows上的类似(不完全匹配)免费工具是:

    来自sysinternals的VMMap:http://technet.microsoft.com/en-us/sysinternals/dd535533

    !windbg中的heap命令:http://hacksoflife.blogspot.com/2009/06/heap-debugging-memoryresource-leak-with.html

    4. Cachegrind:

    上面提到的Windows性能工具具有一定级别的二级高速缓存未命中性能分析功能,但不如Cachegrind那么好用。

    5. DRD:

    在Windows上还没有发现任何免费的和强大的功能,唯一免费的Windows工具可以找到,稍微接近AppVerifier中的“锁定”检查器:http://msdn.microsoft.com/en-us/library /dd371695%28v=vs.85%29.aspx


    为什么不使用Valgrind + Wine来调试Windows应用程序? 请参阅http://wiki.winehq.org/Wine_and_Valgrind

    (Chromium使用它来检查Windows版本的内存错误;请参阅build.chromium.org并查看实验或内存瀑布,并搜索葡萄酒。)

    还有Dr. Memory,请参阅dynamorio.org/drmemory.html

    链接地址: http://www.djcxy.com/p/57029.html

    上一篇: Is there a good Valgrind substitute for Windows?

    下一篇: Memory Leak in C#