多年来,我使用了两个很棒的工具BoundsChecker& Purify,但这些应用程序的开发人员让我失望,他们不再努力维护或开发它们。我们在两家公司都有公司账户,他们都告诉我他们无意生产支持64位应用程序的版本。
任何人都可以推荐支持64位本机C ++ / MFC应用程序的开源或商业替代品吗?
答案 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位应用程序)”条目。