64位工具,如BoundsChecker和Purify

tit*_*nae 17 c++ purify mfc bounds-checker

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

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

小智 5

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


Ada*_*vis 0

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

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

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

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

-亚当