gpt4 book ai didi

C++ BoundsChecker 跟进

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:17:22 25 4
gpt4 key购买 nike

多年来,我们一直在使用 BoundsChecker for Visual C++ 6(我认为它也是 BoundsChecker 5 或 6)。我们已经升级到 VS2008(终于!),现在需要跟进过时的 BoundsChecker。

风景怎么样?
有哪些工具?
城里有新 child 吗?
对于我们使用内存分析器解决的问题,有什么新想法吗?
您最近使用这些工具的体验?
建议?

主要应用程序是带有许多 COM DLL 的 C++,我们正在寻找跟踪 native 、C++ 和 COM 泄漏和对象。那种大小的边界检查器在性能上已经很痛苦了,它要整理大量数据及其一些局限性。

需要对托管应用程序(主要是 C#)的支持,尽管这可能是一个单独的工具。


相关(但 IMO 不完整)问题:Modern equivalent of BoundsChecker for Visual Studio 2008


[编辑]

请注意评论,“在现代 C++ 中,您只需使用自检查类型,并且边界永远不会被破坏”:

引用计数智能指针可以有循环引用。连接 COM 组件本质上是不安全的,因为它需要大量的手动内存管理。我有一个无 UI 的第 3 方服务泄漏 GDI 处理,所以它使我们的夜间测试崩溃 - 供应商将其归咎于“奇怪的”Microsoft API。我必须连接基于 C 的库,我有大量遗留代码,这些代码假设从数字食谱的意义上讲分配技巧是一件好事,并且长度超过 3 个字母的变量名适合打字员。我有来自工程师的代码 std::vector<double>::iterator看起来比 double *** 可怕得多,祝你在没有扎实的信号处理背景的情况下开发和测试这些东西好运。

因此,除非您来到这里,用万无一失的 C++ 类重写和封装一百万行代码的核心,并确保几十个产品仍然像以前一样工作,否则请将您的智能组合留给自己。我希望我不需要内存检查器,但我需要。谢谢。

最佳答案

免责声明和警告:我在 Micro Focus 工作,该公司拥有 DevPartner Studio 和 BoundsChecker 产品。

BoundsChecker 10.5 是 DevPartner Studio 10.5 的一部分(尽管您可以单独购买),支持 Visual Studio 2005、2008 和 2010 非托管代码用于 32 位和 64 位应用程序,其方式与它在 Visual Studio 上支持 32 位应用程序的方式基本相同6.0。在增强它以支持 X64 应用程序的同时,我们发现并修复了很多非常老的问题,尽管某些 VS 2010 应用程序中存在 .NET 4.0 代码,但我们还是开始工作。我说“尽管”是因为 .NET 4.0 结果证明在进程空间中做了很多非常讨厌的事情,做了一些 Microsoft 警告其他人不要做的事情,并且对工具有一定的内在抵抗力像 BoundsChecker,它们本质上是巨大的病毒。

无论如何,自该版本(2 月 4 日)以来,我们已将其更新为可在 Windows 7 SP1(尚未完全公开)上运行,就 BoundsChecker 而言,我们也可在 Visual Studio 2010 SP1 上运行.我们还发现了一个令人讨厌的 .NET 4.0 陷阱,并想方设法阻止它击垮我们。这些增强功能和修复将在我们的下一次公开更新中提供,希望在下个月左右。

关于C++ BoundsChecker 跟进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4246253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com