【问题标题】:64 bit tools like BoundsChecker & Purify [closed]BoundsChecker 和 Purify 等 64 位工具 [关闭]
【发布时间】:2010-09-08 03:43:39
【问题描述】:

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

谁能推荐支持 64 位原生 C++/MFC 应用程序的开源或商业替代方案?

【问题讨论】:

    标签: c++ mfc bounds-checker purify


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • Parasoft 是那种需要联系您评估产品的公司。没有下载:|
      • Insure++ 可以工作,但前提是您有几天时间进行构建,还有几个小时来启动您的应用程序。
      【解决方案3】:

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

      【讨论】:

      • 它现在可以安装在 x64 机器上,这是一个开始!希望有一天它也能使用 x64 代码。
      • 我认为他们永远不会。
      • 我最近向 MicroFocus 询问了一个演示(通过 Web 界面),但仍然没有回应...
      • 我知道这对 Rudiger 来说有点晚了,但如果有其他人上船,请给我自己或 Matt Schuetze 留言。 . .或者,就此而言,克里斯约翰逊,他现在知道如何联系我们。
      【解决方案4】:

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

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

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

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

      【讨论】:

        【解决方案5】:

        仅供参考: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 工作。

        【讨论】:

        • 我们现在接受 DPS 10.5 的 beta 测试人员。 BoundsChecker 组件(错误检测)现在支持 X64 应用程序。 X64 尚不支持的唯一 X86 函数是 .NET 和死锁分析。
        • DPS 10.5 已于 2 月 4 日发售。从那以后,它一直非常稳定。我们正在开发 websync 10.5.1,它支持 Windows 7 SP1、Windows XP64 SP2 和 Visual Studio 2010 SP1。
        • 如果有人对 Micro Focus DevPartner Studio 或 BoundsChecker 有任何疑问,请访问我们的论坛community.microfocus.com/Forums/9_DevPartner
        • 支持论坛已更改位置和服务器。现在在community.microfocus.com
        • Insure++ v2020.1 for Windows 现在处于 Alpha 阶段。披露:亚达亚达亚达。我读了这一切都很开心。在这场大流行病期间,每个人都保持健康。我整天呆在家里,研究 Insra 和insurerert.dll 中的新 Insure::Ldr。这就是我现在所做的一切,我再高兴不过了。 :-)
        【解决方案6】:

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

        披露:我为英特尔工作。

        【讨论】:

        • here 是 2012 年的技术演示,我发现它比其他(很多)商业工具的类似信息更能提前了解减速等。
        • 最重要的是英特尔不断改变它的名称。 Here 是 2014 版本的信息。
        【解决方案7】:

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

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

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

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

        -亚当

        【讨论】:

          【解决方案8】:

          据我了解,BC 9.0 将支持 WOW64

          【讨论】:

          • 是的,他们告诉我,差不多 12 个月前的今天,很高兴我没有屏住呼吸。
          【解决方案9】:

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

          【讨论】:

          • 确实如此,但提供的信息极少,无法找到损坏的原因。我曾使用 AV 解决 BoundsChecker 本身的问题,但我必须自己提供所有上下文线索。 AV 只是宣布损坏及其位置,然后终止程序。
          • 更详细的评论见link
          【解决方案10】:

          来自IBM PurifyPlus support for 64-bit versions of 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 位应用程序)”条目。

          【讨论】:

          • Purify for Windows X64 似乎是几个月前发布的。那边还有生命迹象。 . .
          猜你喜欢
          • 2010-11-14
          • 1970-01-01
          • 1970-01-01
          • 2012-09-01
          • 2011-08-05
          • 2014-10-17
          • 1970-01-01
          • 2010-09-29
          • 1970-01-01
          相关资源
          最近更新 更多