c++ - vs2017 - vld内存检测




像BoundsChecker&Purify 64位工具 (7)

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

唯一的问题是寻址超过4GB的内存空间,处理你不能交叉编译成32位体系结构(没有源代码的64位对象文件等)的代码段,以及一般的64位移植问题(平台特定的代码,如检查0xFFFFFFFF而不是-1)

你还有什么其他问题正在做你的程序的边界检查? 你无法编译一个32位版本?

这当然不是你理想的解决方案,而且应该总是检查它们将要运行的代码,但在这种情况下,你可能没有选择,除非你想做自己的边界检查(这是一个好主意案件...)。

-亚当

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

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


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

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

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


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


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


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

披露:我为英特尔工作。


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

我们正在赶上我们的积压。 我们很晚才得到VS2005和VS2008的支持(BC 9.0,2008年秋季),但是为什么会出现这种情况? 奇迹是,我们知道了。

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

披露:我为MicroFocus工作。


IBM PurifyPlus支持64位版本的Microsoft Windows

Technote(FAQ)

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

原因

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





purify