Insure++——C和C++运行时分析和内存错误检测
Insure++ 是一个针对 C/C++应用的运行时错误自动检测工具,可以自动识别各种难以跟踪编程和内存访问错误,以及潜在的缺陷和效率低下的内存使用情况。错误,如内存破坏,内存泄漏,访问数组边界之外的,无效的指针,往往不易被正常的测试过程中,只有在该领域导致应用程序崩溃等。Insure++将帮助您发现并消除缺陷在您的应用程序的内存使用情况,以确保完整。
Insure++ 通过使用一系列独特的技术(如源码插装等),彻底检查和测试代码,精确定位错误的准确位置并给出详细的诊断信息。Insure++ 能够可视化实时内存操作,优化内存算法。Insure++ 还能执行覆盖性分析,清楚地指示那些代码已经测试过。
在测试过程中,Insure++检查所有类型的内存引用,其中包括那些为静态(全局),堆栈,和共享内存 - 无论是在用户的代码和第三方库。Insure++检测的错误包括:
损坏的堆和栈内存
使用未初始化的变量和对象
数组和字符串堆和栈的边界上的错误
NULL,使用和未初始化的指针
所有类型的内存分配和释放错误或不匹配
所有类型的内存泄漏
全局声明,指针和函数调用的类型不匹配
有些死代码(编译时)
Parasoft公司的客户,其中包括“财富”500强中的58%,依靠Insure++可以:
精确定位和消除不稳定的运行时行为的原因,如神秘的崩溃和挂起
暴露严重的缺陷,回避所有其他的测试工作
寻找64位移植过程中的错误
优化应用程序的内存使用情况
Insure++产品下载试用及价格咨询:
北京铸锐数码 010-62139280
Parasoft Inuse® and Parasoft TCA®
随着运行时的内存错误检测引擎,Insure++包括两个组成部分,增加工具的分析范围:
TCA(提供全面的覆盖分析)
Inuse(提供应用程序的内存使用情况分析)
特性
1. 检测众多不同类型的难以捉摸的错误,如内存破坏、内存泄露、内存分配错误、变量初始化错误、变量定义冲突、指针错误、库错误、逻辑错误和算法错误等等。
2. 精确定位引起内存泄露的代码位置,不仅是泄露的内存位置
3. 支持所有流行的编译器,如 VC、CC、GCC 和 ACC等等
4. 能够检查第三方库和函数以及非 C 语言所写的模块接口
5. 允许您在快速有选择的检查和完全插装检查之间进行切换
6. 发现大量的 C++错误。
好处
1. 大量减少调试时间
2. 减少软件缺陷提高产品信誉
3. 降低维护和支持成本
4. 经常使用能够帮助您排除算法错误
5. 支持多平台和跨平台开发
6. 能够与您的开发生命周期无缝集成
用途
Insure++™能够发现 C/C++应用中很多难以捉摸的错误,大致可以分成三大类:
1. 内存引用错误:
● 内存破坏
● 指针错误
● 内存泄漏
● 动态内存问题
● 字符串问题
● 其他
2. 编程和第三方库接口错误:
● 数据表示问题
● 变量说明问题
● I/O 语句问题
● 不匹配的参数
● 系统调用中的无效参数
● 系统调用中的意外错误
● 其他
3. C++有关的错误:
● Delete 操作的使用不一致
● 内存分配冲突
● 其他
4. 动态内存错误检测
● 多次释放同一内存块
● 试图删除或释放静态分配的内存
● 释放栈内存(局部变量)
● 传递给 delete/free的指针没有指向一内存块的起点
● 用 NULL 或未初始化指针调用 delete/free
● 传递没有意义或类型错误的参数给 malloc/calloc/realloc/free
● new[ ]和 delete[ ]调用不匹配
● malloc/new/free/delete 混合调用不匹配
● 过度的 new/delete 调用引起的问题
● 其他
版本
32-Bit Edition:
Insure++: 运行时内存分析和错误检测
TCA: 覆盖分析.测试覆盖性分析,告诉您那些代码已经被实际测试过。
Inuse: 应用内存使用分析。实时内存可视化工具,帮助您理解内存使用模式并优化其行为。
64-Bit Edition:
Insure++: 运行时内存分析和错误检测
TCA: 覆盖分析.测试覆盖性分析,告诉您那些代码已经被实际测试过。
Inuse: 应用内存使用分析。实时内存可视化工具,帮助您理解内存使用模式并优化其行为。
Threads for Unix: 图形化实时显示多线程中各线程的执行状况并检测线程中的错误。
专利和关键技术
Insure++™利用源码插装(SCI,ParaSoft 专利技术,#5581696)和运行时指针跟踪(RPT,ParaSoft 专利技术,# 5842019)技术。
1. 源码插装:Insure++™对所有程序元素建立一个综合数据库,包括数据结构、内存使用、指针使用和接口等。
2. 运行时指针跟踪:使用一个有关指针和内存块的综合数据库检查对内存的每一次读写操作。
支持的平台
Microsoft Windows (32-bit, 64-bit)
Insure++ works as a plug-in for Visual C++
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++ GNU gcc/g++ 3.2.x - 4.5
Intel ICC 8.1, 9.0, 9.1, 10.0, 10.1, 11.0
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
IBM AIX 5.1, 5.2, 5.3, PowerPC Processor 32 and 64 bits
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
Insure++产品下载试用及价格咨询:
北京铸锐数码 010-62139280