是否有良好的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#