8

我目前正在寻找适用于 Windows 的良好内存/泄漏检测工具。几年前,我用过 Numega 的 Boundschecker,非常好。现在它似乎已经卖给了 Compuware,后者显然又把它卖给了其他公司。

到目前为止,尝试评估当前版本的演示非常令人沮丧,这是最好的“企业”传统:

(a) 他们的网站上没有广告价格(大红色闪烁警告灯);
(b) 要求提供员工人数和其他私人信息的联系表;
(c) 没有回复我要求评估和价格的电子邮件。

我不得不得出结论,BoundsChecker 现在是“那些”产品之一。你知道的,你天真地打电话的类型,明天有 3 个穿黑色西装的男人出现在你的大楼里,想和你谈谈“伙伴关系”,而不是秘密地衡量你公司的规模,因此他们能得到多少远离向你收费。

所以,除了咆哮,任何人都可以推荐一个优秀的内存检查/泄漏检测工具,它的成本是多少,以及在哪里购买的建议?

4

5 回答 5

5

您可以尝试Memory Validator。您也可以尝试相同的评估副本。

授权版价格

于 2009-06-05T18:06:59.270 回答
3

当心 Compuware 的边界检查器:它在一定程度上是稳定的。它的成本约为 3600 美元,每年的维护费用也差不多。但与 Coverity 相比,这简直是小菜一碟。在过去的 3 年里,我没有在 Bounds Checker 下进行良好的测试。这就是为什么我不再使用它,以及为什么我不建议您使用它,除非是在小型项目中。在大型企业应用程序上,它太慢了,占用了太多内存,而且根本停止工作。我的意思是,您真的希望您的应用程序需要 5 分钟才能启动吗?您希望您的测试执行时间延长 3 倍吗?最糟糕的是,它倾向于锁定。Compuware 的客户支持非常有限。但是边界检查器被卖给了另一家公司(不记得他们的名字),它的网站非常不受欢迎,经过消毒和干燥,它使金融公司网站看起来很有趣。但是 BoundsChecker 的致命问题是它只有 32 位。因此,如果您需要分析一个占用大量内存(超过 1 Gig)的大型应用程序,那您就完全不走运了。Bounds Checker 将从您的应用程序中占用 2 到 3 Gigs 的内存。使用 32 位应用程序,您很清楚 4 Gigs 是您获得的顶级产品。

如果您雇用一个人来照看它,那么覆盖性就很好。说真的,Coverity 比我的房子贵。更不用说我公司雇用的人来照顾这该死的东西了。它需要24小时才能做到这一点。它并没有比简单地在警告级别 4 编译代码并打开“代码分析”(在 Visual Studio 中)更神奇。

我尝试过其他内存泄漏工具(用于本机代码)。他们都糟透了,太复杂了,或者只是简单地锁定了系统。我对整个内存分析器领域感到非常厌恶,我只想回到使用调试 CRT。那或者只是写我自己的。

至于代码覆盖工具,Bullseye 胜出。为什么内存泄漏检测器不能像靶心一样可靠地工作?

于 2010-06-12T09:56:48.820 回答
2

Microsoft 的Application Verifier工具非常擅长检测泄漏以及 Windows 上的许多其他常见编程错误(COM、堆、TLS、锁等)。

它在分析方面并没有做太多,但它会给你当你泄漏它时分配内存的堆栈,或者如果你双重释放,第一次释放它的堆栈等等。

于 2009-06-05T18:00:59.887 回答
2

我对AQTime相当满意,而且定价很难被击败(而且非常透明 - 599 美元/用户)。

分配分析器工作得相当好——它不像 Boundschecker 那样复杂(据我对​​ Boundschecker 的记忆),但它的作用却很好——它还处理了很多其他事情。

于 2009-06-05T18:02:48.607 回答
1

这个线程已经过时了。确实,我们无法说服 Micro Focus 在其主网站上发布价格,但您可以在 ComponentSource 上获取价格,而且我们不会派出穿着深色西装和色调的代理商 8-/ 定价取决于关于您是要求单用户许可证还是多用户许可证,以及您是否只想要 BoundsChecker,或者您想要所有 DevPartner Studio。有关详细信息,请参阅ComponentSource 列表

无论如何,我们并没有停止对产品的研究。2 月 4 日,我们发布了 10.5 版,它(最终)支持 Vista 和 Windows 7 上的 64 位应用程序(AMD64、Intel64,而不是 Itanium)。在此过程中修复了很多旧错误。下一次更新将包括对 XP64 和 Windows 7 SP1 以及 Visual Studio 2010 SP1 的支持。

于 2011-04-08T11:56:57.837 回答