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


当前回答

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

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

其他回答

Purify怎么样?

如果你使用Borland/CodeGear/Embarcadero c++ Builder进行开发,你可以使用CodeGuard。

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

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

我们正在完成一个用于Windows的内存安全检查工具,它可以处理GCC和microsoft Visual C(还不是c++),正在寻找Beta测试人员。

2011年6月12日:不再是Beta版,现在是GCC和Microsoft Visual Studio C的产品版。

Windows的调试工具中有Pageheap.exe部分。它是免费的,基本上是一个自定义的内存分配器/释放器。

参见http://support.microsoft.com/kb/286470