解决方案为互联网新软件和新硬件提供跨行业和跨平台的技术解决方案更多信息

Insure++

使用 Parasoft® Insure++® 自动查找 C/C++ 代码中隐藏的错误
Insure++ 是专用于 C 和 C++ 语言的运行时内存分析和错误检测工具,它能自动识别多种难于跟踪的编 程和内存访问错误,并定位内存使用方面的潜在缺陷和效率低下等问题。诸如内存误操作,内存泄露,数 组访问越界,无效指针和其它通过常规测试手段难以发现,却在运行时导致应用程序崩溃的诸多问题。Insure++ 均能帮助你找到并消除这些程序中的缺陷,保证内存使用的完整性。



在 Windows® 和 UNIX 操作系统统上,用户可以将错误消息发送到 Insra, (用于显示错误的 GUI),通过选 中错误来查找其相应的错误原因和堆栈跟踪信息。


能被检测到的错误
在测试过程中,Insure++ 会在用户代码和第三方库中检 查所有的内存引用,包括静态(全局)内存,栈内存和共 享内存。 Insure++ 能检测到的错误包括:
  • 堆栈内存崩溃
  • 使用未初始化的变量或对象
  • 堆栈中的数组越界、字符串越界
  • 使用悬挂指针、无效指针和未初始化指针
  • 所有内存分配和释放问题,包括不匹配问题
  • 所有的内存泄漏
  • 全局声明,指针和函数访问的类型不匹配错误
  • 部分无用代码(编译过程中)

多种使用模式
Insure++ 使用专利*源码插装算法为用户提供了丰富的内存 分析功能。通过源码插装,能检测出比其他内存错误查找 技术更多的内存错误,同时基于Insure++ 分析源码得到的 关于程序元素和内存结构的数据库,Insure++ 提供完整的信 息,用于定位造成这些问题的根源。

Insure++ 提供三种内存分析和错误检测方法。第一种也是 最全面的一种分析方法通过全面源码插桩 (full source code instrumentation)。使用这种方法要求用户先使用 Insure++ 对自己的程序进行编译和链接,以便生成相应的插装文件 传递给实际的编译器。

第二种方法采用 Insure++ 进行链接 (linking with Insure++) ,此种方法在“错误报告的详细程度”和“构建并运行插装 程序的时间长短”两者之间作出折中。在这种模式下, Insure++ 能检测并且报告包括内存泄漏,无效内存引用,

功能
  • 检测所有堆栈引起的内存误操作
  • 检测未初始化的变量、指针和对象
  • 检测内存泄漏,内存分配/释放等错误
  • STL 检查** ,帮助合理使用 STL 容器并检测相关内存错误
  • 编译时检查类型和字节大小相关问题
  • 跟踪运行时的函数调用关系
  • 提供图形界面(GUI) 和命令行 (command line) 接口
  • 检查第三方的静态库和动态库的内存错误
  • 可直接使用 Visual Studio 调试器
优点
  • 在内存错误成为运行时的问题之前就发现它们
  • 查找 64 位移植过程中常见错误
  • 帮助用户优化应用程序的内存使用
  • 减少开发和支持成本
  • 在 “smoke alarm” 模式中方便地同回归测试套件集成
  • 提供对错误详细的堆栈跟踪以帮助了解其原因
TCA 测试覆盖率
  • 计算行覆盖率和块覆盖率
  • 报告代码行,块,类,函数和文件覆盖率
  • 文本方式报告和交互式的、高亮显示的图形化覆盖率报告
Inuse 内存监视器
  • 对内存泄漏给出可视化报告
  • 给出实时内存使用状况的可视化报告
  • 帮助用户建立程序事件和内存使用状况的联系

** 对于任何使用 Unix GCC 3.0 或以上的用户可用。

Parasoft® Inuse® 和 Parasoft® TCA®
除了运行时内存错误检测引擎,Insure++ 还提供两个组件 以增强工具的分析范围:

    • TCA (提供总的覆盖率分析)
    • Inuse (提供应用程序内存使用分析)

TCA 分析、报告代码覆盖率,并进一步让你以图形化方式 ,直观地看到已测试部分代码和代码块执行次数。通过运行 时错误检测工具 Insure++ 和全面的测试套件协同工作,能 显著提升测试效率并让你在更短时间内提交更可靠的程序代 码。

Inuse 能够对应用程序的内存应用情况给出可视化的报告。 这个组件以直观的图形化方式,报告内存分配,超时, 以及 整个 堆栈使用, block 分配,可能的突出内存泄漏 (outstanding memory leaks) 等问题。通过为用户提供应用 程序内存使用情况的深入报告, Inuse 能够帮助用户高效地 分析和优化运行时内存使用状况和性能。

*Parasoft 对源码插桩算法拥有编号为 #5,581,696 * 和 #6,085,029 专利。

支持的平台
Microsoft Windows
  • 7: VS2005 SP1 - VS2010
  • Vista: VS2005 SP1 - VS2010
  • 2008: VS2005 SP1 - VS2010
  • XP: VS6 - VS2010
  • 2003: VS6 - VS2010
  • 2000: VS6 - VS2005

Linux for x86 Processors 32-bits (all distributions)
  • GNU gcc/g++ 2.95.x, 3.2 - 4.5
  • Intel ICC 8.1, 9.0, 9.1, 10.0, 10.1, 11.0

Linux for AMD64 and Intel EM64T 64-bits (all distributions)
  • GNU gcc/g++ 3.2.x - 4.5
  • Intel ICC 8.1, 9.0, 9.1, 10.0, 10.1, 11.0

IBM AIX 5.1, 5.2, 5.3, PowerPC processor
  • IBM VisualAge v5
  • IBM Visual Age (xIC compilers) v6 , v7, v8
  • GNU gcc/g++ 2.95 - 4.2

IBM AIX 6.1, PowerPC processor
  • IBM Visual Age (xIC compilers) v10.1
  • IBM Visual Age (xIC compilers) v11.1
  • GNU gcc/g++ 2.95 - 4.2

Solaris 8, 9, 10 UltraSparc Processor
  • Forte Developer 6 Update 2 (6.2) / Sun CC 5.3
  • Sun ONE Studio 7 / Sun CC 5.4
  • Sun ONE Studio 8 / Sun CC 5.5
  • Sun Studio 9 / Sun CC 5.6
  • Sun Studio 10 / Sun CC 5.7
  • Sun Studio 11 / Sun CC 5.8
  • Sun Studio 12 / Sun CC 5.9
  • GNU gcc/g++ 2.95 - 4.2
用户体验
常用连接
联系我们
官方微信