有没有适用于Windows的好的Valgrind替代品?

210

当我在寻找帮助改进我的C语言编程和调试的工具时,我发现Valgrind仅适用于Linux操作系统。由于我没有将操作系统转移到Linux的其他需要或兴趣,因此我想知道是否有同样优秀的程序适用于Windows。


你想要进行哪种类型的调试?Valgrind是一个非常丰富的工具集,下面的答案指向各种不同的方向。重点在于内存泄漏/分配调试。 - jakobengblom2
1
也许你可以在 Windows 环境内的虚拟 Linux 机器上测试代码,只有在需要检查时才这么做。你可以在虚拟和非虚拟机之间共享开发文件夹。前提是,如果代码足够可移植。 - Liran Orevi
38个回答

2

如果您正在使用Borland/CodeGear/Embarcadero C++ Builder进行开发,您可以使用CodeGuard。


2

2
几乎所有的分析工具都包含检查内存泄漏并显示内存分配时的堆栈。

我可以推荐Intels Parallel Inspector。它易于使用,无需重新编译代码。试用版可运行30天。

GlowCodeAtromatedQA也包括这些功能。它们都提供免费试用版。

Compuware DevPartner(又称BoundsChecker)需要一个减速的“instrumentation”重新编译,并且在检查错误时应用程序运行得更慢。而且BoundsChecker完全无法与64位版本一起使用。我们放弃了该工具。


2
我一定会推荐GlowCode。我曾经使用它来查找由我的应用程序调用的dll中的内存泄漏问题。 - Bob
在我上一份工作中,使用DevPartner时出现了严重的减速问题。由于它的运行速度非常慢,他们尽一切可能避免使用它。 - Calyth

2

2

2

1

1

1

1

绝对使用Purify!我已经用它来分析一些庞大的代码库(>3,000 kSLOC),发现它非常好。

您可能会喜欢查看维基百科上的此列表

顺便说一下,我发现memwatch也非常有用。感谢Johan!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接