64 位工具,如 BoundsChecker 和 净化

发布于 2024-07-04 12:14:15 字数 1560 浏览 9 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

我偏爱纯白色 2024-07-11 12:14:16

据我了解BC 9.0将支持WOW64

it is my understanding that BC 9.0 will support WOW64

临走之时 2024-07-11 12:14:16

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

Application verifier, for x64 and x86, detects heap corruption
http://www.microsoft.com/download/en/details.aspx?id=20028

抚笙 2024-07-11 12:14:16

来自IBM PurifyPlus 对 64 位版本的 Microsoft Windows 的支持 :

技术说明(常见问题解答)

问题

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

原因

64 位版本的 Microsoft Windows 越来越流行。

回答

从版本 7.0.1 iFix 003 开始​​,PurifyPlus 支持在 Windows 上测试 64 位应用程序。

有关 iFix 003 的更多信息,请参阅以下技术说明 IBM Rational PurifyPlus适用于 Windows v7.0.1.0-003

您安装此版本的 Purify,并在开始菜单中看到“Purify(适用于 64 位应用程序)”条目。

From IBM PurifyPlus support for 64-bit versions of Microsoft Windows:

Technote (FAQ)

Question

Is IBM Rational PurifyPlus supported on 64-bit versions of Microsoft Windows?

Cause

64-bit versions of Microsoft Windows are getting popular.

Answer

Beginning with version 7.0.1 iFix 003, PurifyPlus supports testing 64 bit applications on Windows.

More information about iFix 003 can be found in the following technote IBM Rational PurifyPlus for Windows v7.0.1.0-003

You install this version of Purify and you get a "Purify (for 64-bit applications)" entry in your start menu.

月亮坠入山谷 2024-07-11 12:14:15

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

披露:我在英特尔工作。

Intel(R) Parallel Inspector (http://software.intel.com/en-us/intel-parallel-inspector/) is a threading and memory-checking plugin tool to Microsoft* Visual Studio; it supports 32-bit and 64-bit C/C++ on Windows. It's a commercial application with a 30-day free evaluation.

Disclosure: I work for Intel.

东京女 2024-07-11 12:14:15

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

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

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

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

-亚当

I've used bounds checking and other dynamic analysis tools, and while the architectures are different it's the code that you're checking - in theory you could run bounds checking on any backend and the result would be the same - the code either steps outside its bounds or it does not.

The only complications are addressing more than 4GB of memory space, dealing with pieces of code you can't cross-compile to a 32-bit architecture (64 bit object files for which you have no source, etc), and general 64 bit migration issues (platform specific code such as checking for 0xFFFFFFFF instead of -1)

What other problems are you running into doing bounds checking on your program? Are you unable to compile a 32 bit version?

It's not your ideal solution, certainly, and one should always check the code they're going to run, but in this case you might not have a choice, unless you want to do your own bounds checking (which is a good idea in any case...).

-Adam

奶气 2024-07-11 12:14:15

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

BoundsChecker 9.01 now supports VC2008 and x64 bit, at last.

油饼 2024-07-11 12:14:15

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

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

请注意 numega/compuware/other_new_company 中的boundschecker:不要购买它。 它仅配置 32 位应用程序。 它不支持 64 位应用程序。 不过它可以安装在 64 位操作系统上。 几年前我就不再在我们的应用程序上使用它了。 不过,有时我确实在 CppUnit 测试中使用它。

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

insure++ only workse if you instrument your code. I once tried it. It took about 5 minutes to compile about 1000 lines of code. Since the project that I needed to compile was huge, I quickly determined that Insure++ was not going to work.

Not to mention their reporting, or output from Insure++ is pretty archaic. also the runtime performance penalty was attrocious.

Note about boundschecker from numega/compuware/other_new_company: Don't buy it. It's only profiles 32 bit apps. It does NOT do 64 bit apps. It can be installed on a 64 bit OS though. I stopped using it years ago on our app. I do use it on CppUnit Tests though... sometimes.

In general I'm completely disgusted with all the native memory leak tools out there. They all don't work, or just lock up your application on shutdown.

思慕 2024-07-11 12:14:15

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

FYI: BoundsChecker 10.0 runs on Windows XP through Windows 7, on both 32 and 64 bit versions. It supports WOW64 applications, and it also supports Visual Studio 2010. In fact, we released VS2010 support within 30 days of Microsoft's release.

We are catching up with our backlog. We were very late getting the VS2005 and VS2008 support out (with BC 9.0, Fall 2008), but there were a variety of reasons why this happened. The miracle was that we got it out at all.

BoundsChecker 10.5, when it comes out, should have some more goodies. Stay tuned.

Disclosure: I work for MicroFocus.

棒棒糖 2024-07-11 12:14:15

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

Viva64 (http://www.viva64.com/viva64-tool/) tool provides detection of errors typical of 64-bit Windows applications. Viva64 is a lint-like static analyzer of C/C++ code. Viva64 integrates into Visual Studio 2005/2008 environment and provides user-friendly interface to test your software projects.

虐人心 2024-07-11 12:14:15

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

我在 Linux 上的 32 位和 64 位应用程序上使用过 Insure++,效果很好。 当它试图解析 template/stl 代码时,它有时会感到困惑并且会摔倒。

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

Parasoft has a tool called Insure++ (link: http://www.parasoft.com/jsp/products/quick_facts.jsp?product=Insure) which says it'll do that.

I've used Insure++ on 32-bit and 64-bit apps on Linux and it worked okay. It sometimes got confused when it was trying to parse template/stl code and would fall over.

That url says it works on 32- and 64-bit windows, good luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文