64位工具,如BoundsChecker&净化

时间:2008-09-08 12:50:25

标签: c++ mfc bounds-checker purify

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

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

10 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

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

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

该网址表示它适用于32位和64位窗口,祝您好运!

答案 2 :(得分:2)

BoundsChecker 9.01现在支持VC2008和x64位。

答案 3 :(得分:2)

确保++只有在你修改代码时才能工作。我曾经尝试过。编译大约1000行代码花了大约5分钟。由于我需要编译的项目非常庞大,我很快就确定Insure ++不会起作用。

更不用说他们的报道,或Insure ++的输出是相当古老的。运行时性能损失也是残酷的。

注意来自numega / compuware / other_new_company的boundschecker:不要买它。它只是配置32位应用程序。它不做64位应用程序。它可以安装在64位操作系统上。我几年前在我们的应用程序上停止使用它。我确实在CppUnit Tests上使用它......有时候。

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

答案 4 :(得分: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工作。

答案 5 :(得分:1)

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

披露:我为英特尔工作。

答案 6 :(得分:0)

我使用了边界检查和其他动态分析工具,虽然架构不同,但是你正在检查的是代码 - 理论上你可以在任何后端运行边界检查,结果也是一样的 - 代码要么超出界限,要么不超出界限。

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

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

当然,这不是你理想的解决方案,应该始终检查他们将要运行的代码,但在这种情况下你可能没有选择,除非你想做自己的边界检查(这是一个好的无论如何......)。

- 亚当

答案 7 :(得分:0)

我的理解是BC 9.0将支持WOW64

答案 8 :(得分:0)

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

答案 9 :(得分:0)

来自IBM PurifyPlus support for 64-bit versions of Microsoft Windows

  

技术支持(FAQ)

     

问题

     

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位应用程序)”条目。