17

多年来,我使用了BoundsCheckerPurify这两个很棒的工具,但是这些应用程序的开发人员让我失望了,他们不再努力维护或开发它们。我们在两家公司都有公司帐户,他们都告诉我他们无意生产支持 64 位应用程序的版本。

任何人都可以推荐支持 64 位本机 C++/MFC 应用程序的开源或商业替代方案吗?

4

10 回答 10

5

Viva64 ( http://www.viva64.com/viva64-tool/ ) 工具提供对 64 位 Windows 应用程序典型错误的检测。Viva64 是一个类似于 lint 的 C/C++ 代码静态分析器。Viva64 集成到 Visual Studio 2005/2008 环境中,并提供用户友好的界面来测试您的软件项目。

于 2009-04-21T10:06:48.767 回答
4

Parasoft 有一个名为 Insure++ 的工具(链接:http ://www.parasoft.com/jsp/products/quick_facts.jsp?product=Insure ),它说它会做到这一点。

我在 Linux 上的 32 位和 64 位应用程序上使用了 Insure++,它运行良好。当它试图解析模板/stl 代码时,它有时会感到困惑并且会崩溃。

该网址说它适用于 32 位和 64 位窗口,祝你好运!

于 2008-09-09T03:58:08.260 回答
2

insure++ 仅在您检测代码时才有效。我曾经试过。编译大约 1000 行代码大约需要 5 分钟。由于我需要编译的项目很大,我很快确定 Insure++ 无法正常工作。

更不用说他们的报告了,Insure++ 的输出也相当陈旧。运行时性能损失也很严重。

注意 numega/compuware/other_new_company 中的 boundschecker:不要购买。它只是配置文件 32 位应用程序。它不执行 64 位应用程序。不过,它可以安装在 64 位操作系统上。几年前我在我们的应用程序上停止使用它。不过,我确实在 CppUnit 测试中使用它……有时。

总的来说,我完全厌恶所有的本地内存泄漏工具。它们都不起作用,或者只是在关闭时锁定您的应用程序。

于 2010-06-12T10:18:34.433 回答
2

BoundsChecker 9.01 现在终于支持 VC2008 和 x64 位。

于 2009-05-28T10:00:17.517 回答
2

仅供参考:BoundsChecker 10.0 在 Windows XP 到 Windows 7 上运行,包括 32 位和 64 位版本。它支持 WOW64 应用程序,也支持 Visual Studio 2010。事实上,我们在微软发布后 30 天内就发布了 VS2010 支持。

我们正在赶上我们的积压。我们很晚才获得对 VS2005 和 VS2008 的支持(BC 9.0,2008 年秋季),但发生这种情况的原因有很多。奇迹是我们把它弄出来了。

BoundsChecker 10.5 出来后,应该有更多的好东西。敬请关注。

披露:我为 MicroFocus 工作。

于 2010-08-14T22:09:42.050 回答
1

英特尔(R) Parallel Inspector ( http://software.intel.com/en-us/intel-parallel-inspector/ ) 是 Microsoft* Visual Studio 的线程和内存检查插件工具;它在 Windows 上支持 32 位和 64 位 C/C++。这是一个商业应用程序,提供 30 天免费评估。

披露:我为英特尔工作。

于 2010-07-28T13:48:49.597 回答
0

据我了解,BC 9.0 将支持 WOW64

于 2008-10-15T09:45:43.307 回答
0

我使用了边界检查和其他动态分析工具,虽然架构不同,但您要检查的是代码——理论上你可以在任何后端运行边界检查,结果是一样的——代码要么在外面它的界限或没有。

唯一的复杂性是处理超过 4GB 的内存空间,处理无法交叉编译为 32 位架构的代码片段(您没有源代码的 64 位目标文件等),以及一般的 64 位迁移问题(特定于平台的代码,例如检查 0xFFFFFFFF 而不是 -1)

您在对程序进行边界检查时遇到了哪些其他问题?您无法编译 32 位版本吗?

当然,这不是您理想的解决方案,并且应该始终检查它们将要运行的代码,但是在这种情况下,您可能别无选择,除非您想进行自己的边界检查(这在任何情况下都是一个好主意案子...)。

-亚当

于 2008-09-08T13:18:05.693 回答
0

适用于 x64 和 x86 的应用程序验证程序检测堆损坏 http://www.microsoft.com/download/en/details.aspx?id=20028

于 2011-07-04T13:42:36.937 回答
0

来自IBM PurifyPlus 对 64 位版本的 Microsoft Windows 的支持

技术说明(常见问题)

问题

64 位版本的 Microsoft Windows 是否支持 IBM Rational PurifyPlus?

原因

64 位版本的 Microsoft Windows 越来越流行。

回答

从版本 7.0.1 iFix 003 开始​​,PurifyPlus 支持在 Windows 上测试 64 位应用程序。

有关 iFix 003 的更多信息,请参阅以下技术说明IBM Rational PurifyPlus for Windows v7.0.1.0-003

您安装此版本的 Purify 并在您的开始菜单中获得“ Purify(用于 64 位应用程序) ”条目。

于 2012-07-12T12:14:52.377 回答