c - 有没有很好的 Valgrind 替代 Windows?

标签 c windows debugging memory-leaks valgrind

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

最佳答案

正如 jakobengblom2 所指出的,valgrind 有一套工具。根据您所谈论的,有不同的 Windows 柜台部件。我这里只提OSS或者免费工具。

1.内存检查:

博士。内存。这是一个相对较新的工具,在 Windows 7 上运行良好。我最喜欢的功能是它在报告中对相同的泄漏分配堆栈进行分组。

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

我也使用过 UMDH(http://support.microsoft.com/kb/268343),发现它非常有用且易于设置。它适用于Win2000到Win7。

AppVerifier 是 Windows 原生代码开发人员必备的瑞士刀,它的“内存”检查器也有类似的工作 http://msdn.microsoft.com/en-us/library/dd371695%28v=vs.85%29.aspx

<强>2。调用研磨:

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

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

Windows 性能分析工具是微软免费提供的,虽然不是很容易使用,但如果您愿意花时间,可以完成工作。 http://blogs.microsoft.co.il/blogs/sasha/archive/2008/03/15/xperf-windows-performance-toolkit.aspx 下载: http://msdn.microsoft.com/en-us/performance/cc752957

3.地 block :

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

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

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

4.缓存研磨:

上面提到的 Windows 性能工具具有一定水平的 L2 缓存未命中分析能力,但不如 Cachegrind 好和易于使用。

5. DRD:

还没有在 Windows 上找到任何免费且功能强大的东西,我能找到的唯一一个稍微接近的 Windows 免费工具是“锁定”检查器 应用验证器: http://msdn.microsoft.com/en-us/library/dd371695%28v=vs.85%29.aspx

关于c - 有没有很好的 Valgrind 替代 Windows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1502799/

相关文章:

常量字符串数组

C随机数产生垃圾值

c++ - Qt - Dll相关问题

windows - Powershell - 如何以字符串形式获取当前 session 的所有文本输出?

android - 如何检查sqlite数据库中的表是否存在,如果不存在则创建一个并插入数据

c - 从文件中读取()返回什么?

c - 类型结构的不完整定义

java - 如何将使用ant运行的java程序的调试器附加到Eclipse?

php - 是否可以在不使用脚本的情况下确定远程 FTP 服务器上的可用空间量?

java - 在Java Eclipse中添加 "Run to Line"按钮