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


当前回答

您正在使用的Windows开发环境可能包含自己的工具。例如,Visual Studio允许您检测和隔离程序中的内存泄漏

其他回答

Clang支持地址消毒插件(-faddress-sanitizer选项),它几乎可以检测到Valgrind可以发现的大多数错误(不支持检测未初始化的内存读取和内存泄漏)。请参阅本页与Valgrind和其他类似工具的比较。一个正式的Windows端口目前正在进行中,请参阅Windows ASan端口。

几个月前,我尝试自己在Windows上构建它,但放弃了,请看我的相关问题。如果你想再试一次,事情可能已经变得更好了。

请参阅软件QA测试和测试工具资源页面上的“源测试工具”链接,以获得类似工具的列表。

我曾经使用BoundsChecker,DevPartner Studio和Intel V-Tune进行分析。我最喜欢V-Tune;你可以模拟各种英特尔芯片组,它会给你关于如何优化该平台的提示。

也许CodeSnitch是你想要的?http://www.entrek.com/codesnitch.html

你可以参考《Game Programming Gems 8》中的文章《游戏内内存分析器的设计与实现》。

它展示了如何实现一个低开销的半侵入式实时内存分析器,源代码在CD-ROM中提供。

您可能想了解Mozilla在内存泄漏方面所做的工作。他们工具箱中的一个工具是用作内存泄漏检测器的Hans Boehm垃圾收集器。