王朝百科
分享
 
 
 

Insure++

王朝百科·作者佚名  2010-04-22  
宽屏版  字体: |||超大  

Insure++™介绍

一、 什么是 Insure++™?

Insure++™是一个针对 C/C++应用的运行时错误自动检测工具,发现诸如内存破坏、内

存泄漏、指针错误和 I/O 错误等大量问题。Insure++™通过使用一系列独特的技术(如源码

插装等),彻底检查和测试代码,精确定位错误的准确位置并给出详细的诊断信息。

Insure++™能够可视化实时内存操作,优化内存算法。Insure++™还能执行覆盖性分析,清

楚地指示那些代码已经测试过。

Insure++™的特性

1. 检测众多不同类型的难以捉摸的错误,如内存破坏、内存泄露、内存分配错误、变

量初始化错误、变量定义冲突、指针错误、库错误、逻辑错误和算法错误等等。

2. 精确定位引起内存泄露的代码位置,不仅是泄露的内存位置

3. 支持所有流行的编译器,如 VC、CC、GCC 和 ACC等等

4. 能够检查第三方库和函数以及非 C 语言所写的模块接口

5. 允许您在快速有选择的检查和完全插装检查之间进行切换

6. 发现大量的 C++错误。

Insure++™的好处

1. 大量减少调试时间

2. 减少软件缺陷提高产品信誉

3. 降低维护和支持成本

4. 经常使用能够帮助您排除算法错误

5. 支持多平台和跨平台开发

6. 能够与您的开发生命周期无缝集成

二、 Insure++™能做什么?

Insure++™能够发现 C/C++应用中很多难以捉摸的错误,大致可以分成三大类:

1. 内存引用错误:

● 内存破坏

● 指针错误

●内存泄漏

● 动态内存问题

● 字符串问题

● 其他

2. 编程和第三方库接口错误:

● 数据表示问题

● 变量说明问题

2/3 ● I/O 语句问题

● 不匹配的参数

● 系统调用中的无效参数

● 系统调用中的意外错误

● 其他

3. C++有关的错误:

● Delete 操作的使用不一致

● 内存分配冲突

● 其他

4. 动态内存错误检测

● 多次释放同一内存块

● 试图删除或释放静态分配的内存

● 释放栈内存(局部变量)

● 传递给 delete/free的指针没有指向一内存块的起点

● 用 NULL 或未初始化指针调用 delete/free

● 传递没有意义或类型错误的参数给 malloc/calloc/realloc/free

● new[ ]和 delete[ ]调用不匹配

● malloc/new/free/delete 混合调用不匹配

● 过度的 new/delete 调用引起的问题

● 其他

三、 Insure++™有什么工具?

1. Insra:

图形化显示静态和动态检测时检测到的错误,并指出发生错误的准确位置。

2. Inuse:

实时内存可视化工具,帮助您理解内存使用模式并优化其行为。

3. TCA:

测试覆盖性分析,告诉您那些代码已经被实际测试过。

4. Threads++(Linux, Unix):

图形化实时显示多线程中各线程的执行状况并检测线程中的错误。

四、 专利和关键技术

Insure++™利用源码插装(SCI,ParaSoft 专利技术,#5581696)和运行时指针跟踪

(RPT,ParaSoft 专利技术,# 5842019)技术。

1. 源码插装:

Insure++™对所有程序元素建立一个综合数据库,包括数据结构、内存使用、指针使用

和接口等。

3/3 2. 运行时指针跟踪:

使用一个有关指针和内存块的综合数据库检查对内存的每一次读写操作。

五、 支持平台

1. Microsoft Windows 2000/XP/2003,Insure++™ works as a plug-in for Visual C++

* Microsoft Visual C++ 6.0

* Microsoft Visual C++ .NET

* Microsoft Visual C++ .NET 2003

* Microsoft Visual C++ 2005

2. Linux for x86 processors 32 bits (all distributions)

* GNU gcc/g++ 2.95.x, 3.2.x, 3.3.x, 3.4.x, 4.0

* Intel ICC 8.0, 8.1, 9.0

3. Linux for AMD64 and Intel EM64T 64 bits (all distributions)

* GNU gcc/g++ 3.2.x, 3.3.x, 3.4.x, 4.0

* Intel ICC 8.1, 9.0

4. Solaris 7, 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

* GNU gcc/g++ 2.95.x, 3.2.x, 3.3.x, 3.4.x

5. IBM AIX 5.1, 5.2, 5.3, PowerPC Processor 32 and 64 bits

* IBM VisualAge (xlC) v5, v6, v7, v8

* GNU gcc 2.95.x, 3.2.x, 3.3.x, 3.4.x (GNU g++ is NOT supported.)

6. HP-UX 11 for PA-RISC 32 and 64 bits

* HP aCC/aC++ version A.03.26 and above

* GNU gcc/g++ 2.95.x, 3.2.x, 3.3.x, 3.4.x

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有