CSDN资源:http://www.csdn.net/tag/insure%252B%252B

安装。

  1,简介:http://baike.baidu.com/link?url=bCcoWd3xi07KMU8VGVthyQ2466AGj2sODDgNzFqEPxPiaU5wU941tBA9DPUtObjC8mdSteqCBULzX5CLpKREmq

  2,安装平台:Ubuntu 14.04.1 LTS

  3,解压及准备工作。

    1) 创建一个insure目录,并解压(tar -zxf <insure tar page>)

    2)解压后,将源包放在解压目录下。

    3)阅读README文件,或者直接使用./install。所有选项都使用默认即可。

    4)到setup 5时(README),选择A:add a license. 此时,需要hostid 和 密码。

      a. hostid 可输入 S 指令查看。

      b. 密码需要破解(破解教程需要自己搜索)

    5)得到许可(或破解)后,后面步骤分成两种。

      a. 直接使用ln -s source dist链接,并将link文件放在/usr/bin/中即可使用。

      b. 也可在.bashrc中添加全局PATH,将<tar dir>/insure/bin的路径添加的环境变量中。

        i. 路径添加的参考文章:http://blog.chinaunix.net/uid-23781137-id-3451238.html

  4,完成安装后,输入指令:insure g++ ...可能会出现:undefined reference...的错误。

    1)解决方案:http://forums.parasoft.com/lofiversion/index.php/t2617.html

    2)即在 g++ 指令后添加: -Wl,--no-as-needed.即可。

    3)理论上添加--no-as-needed不会影响程序运行,但因为对此设置了解不深刻。无法完全保证。

    4)部分工程不会报出错误,但链接后会在log文件中提示无法使用insure的功能。

常见问题。

  1,insure++中使用libdl.a静态链接问题.

    1)问题现象:

      ../base/lib64/libdl.a(dlsym.o): In function `dlsym': 
      (.text+0x5): undefined reference to `__dlsym'

    2)解决方案(暂时):使用动态链接方式。即使用 *.so 文件代替 *.a文件。

    3)出现问题的原因:怀疑insure使用了对应的动态链接方式。

    4)参考文章:http://www.newsmth.net/nForum/#!article/CProgramming/113004 只有解决方案,但没有解释原因。

  2,tca [option] tca.log 出错:float points exception(core dumped)

    1)出现原因:部分文件的分母部分为0.导致计算覆盖率百分比时出错。

    2)解决办法:使用TCA界面版本,或在block为0的模块中添加一个无用的内联函数。使除法的分母为1.

    3)个人建议:使用TCA界面版本,因为这样不需要增加无用的模块(很多.h文件都是没有任何函数块的)。如服务器中没有界面,可以复制tca.log and tca.map文件到本机,再通过TCA界面打开。

    4)另外对于覆盖率,可以使用BullseyeCoverage。非常简单好用。

    PS:测试使用inusre++.file_ignore 功能,期望使用此选项忽视部分头文件。失败。设置解释为:通过此设置的文件会直接通过编译器进行编译,而不增加insure的额外代码。而覆盖率似乎与insure的插入代码 没有关联。

       “无关联”结论依据: 使用 "*.h" 忽视所有头文件,在TCA中依然可以显示所有的头文件。

      结论基于file_ingore 设置成功的前提。但无法找到方法去确定 忽略文件 的功能是正常的。如果对此结论有所怀疑,可以尝试测试file_ignore功能,如果个人对于file_ignore功能理解有误,则上述结论可能存在错误。

    PS2:复制服务器上的log and map 文件,需要重新设置map和log的路径。需要注意:tca.log中保存默认的tca.map的索引路径。如果要在其他机器上观察.log文件,需要与默认路径相同。

常用配置。

  1,配置文件.psrc。可以进行多文件配置。详情参考insure用户手册。

    1)个人建议:根目录+项目目录双重配置。当然,如果没有必要针对项目进行配置的话。可以直接使用根目录即可。

      a. 使用默认配置其实已经可以满足基本的要求。

    2)因为服务器端无GUI,所以需要将所有信息输出为文件的格式。所以,在此配置的基础文件命令如下。

      a. insure++.report_banner on
       insure++.report_file [ filename ]

  2,提取TCA文件信息(为无界面版服务)

    1)具体命令为:tca -dF tca.log >> [ filename ]

  3,常用设置。(个人阅读英文手册,测试和翻译得到。并不能保证完全理解原含义。对此有疑议的,可以参考手册。)

    1)insure++.summarize leaks ——针对leak(内存泄漏)生成一个综合报告。其他选项有: bugs coverage outstanding.

    2)insure++.report_banner on——将报告输出到默认的IO中,一般情况下,就是当前的terminal窗口

    3)insure++.report_file ./insurelog/%v-exec:%d.Log——讲报告输出到一个指定文件中。可以对名字进行一些设置。和 report_banner 冲突。开启此选项会默认关闭此选项。

    4)insure++.report_overwrite false——写入报告时,是否覆盖已有文件。默认打开

    5)inusre++.summarize coverage  //  insure++.coverage_switches tca [option]——设置 代码覆盖率报告。将代码覆盖率数据 直接 汇总的测试报告中。但未测试,是否与leak设置冲突。

    6)insure++.coverage_log_file [full path]  //  insure++.coverage_map_file [full path]——设置 覆盖率的log and map文件的保存路径

    7)insure++.compiler_fault_recovery off——默认为on,打开时,仅在链接(link)时强制使用insure。而编译时仅尝试使用,如insure任意操作失败,会自动调用默认的编译器进行编译。此时,insure对当前文件为不可用状态。

    8)insure++.compiler_fault_recovery_banner on——建议设置为on,会在执行insure插入操作时打印一条信息在terminal上。

    9)insure++.verbosity 4——编译和链接报告:0-4级。默认等级未知。开启时,会在当前目录下生成Insurelog.txt文件。等级0-4:用来设置报告(编译,链接和运行)的详细程度。      

测试工具:insure++的更多相关文章

  1. 渗透测试工具BurpSuite做网站的安全测试(基础版)

    渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...

  2. linux压力测试工具stress

    最近给PASS平台添加autoscaling的功能,根据服务器的负载情况autoscaling,为了测试这项功能用到了stress这个压力测试工具,这个工具相当好用了.具体安装方式就不说了.记录下这个 ...

  3. [.NET] WebApi 生成帮助文档及顺便自动创建简单的测试工具

    ==========最终的效果图========== ==========下面开始干活:生成帮助文档========== 一.创建 WebApi 项目 二.找到 HelpPageConfig.cs 并 ...

  4. RabbitMQ调试与测试工具-v1.0.1 -提供下载测试与使用

    最近几天在看RabbitMQ,所以发了两天时间写了一个调试和测试工具.方便使用. 下载地址:RabbitMQTool-V1.0.1.zip

  5. HTTP压力测试工具

    HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的P ...

  6. 微软压力测试工具 web application stress

    转自 http://www.cnblogs.com/tonykan/p/3514749.html lbimba  铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网 ...

  7. WebService如何调试及测试工具

    http://www.cnblogs.com/zfanlong1314/archive/2012/04/06/2434788.html 通常,我们在Visual Studio里调试ASP.NET网站, ...

  8. Android高手速成--第四部分 开发工具及测试工具

    第四部分 开发工具及测试工具 主要介绍和Android开发工具和测试工具相关的开源项目. 一.开发效率工具 Json2Java根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson ...

  9. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...

  10. DNS压力测试工具dnsperf简介

    dnsperf是我最近写的一个开源的DNS压力测试工具,用户可以用它来对DNS服务器或者Local DNS做压力测试.dnsperf目前的实现是单进程模式,通过epoll非阻塞地处理网络事件. dns ...

随机推荐

  1. C学习笔记 - 指针

    指针与数组 ,,,,}; int *p; p = a; printf("*a = %d\n",*a); printf("*p = %d\n",*p); prin ...

  2. js 之 Post发送请求

    // ajax 对象 function ajaxObject() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new X ...

  3. <%@ include file=""%>与<jsp:include page=""/>区别

    jsp页面是把include指令元素(<%@ include file=""%>)所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中,合成一个文件后被js ...

  4. mysql索引分类及注意事项

    MYSQL索引主要分为四类:主键索引,普通索引(聚合,非聚合),唯一索引,全文索引 全文索引,主要是针对对文件,文本的检索, 比如文章, 全文索引针对MyISAM有用. 索引的原理:利用二叉树(哈希表 ...

  5. Java 学习 第四篇;面向对象(1)

    1:关于继承为了保证父类的良好封装性,不会被子类随意改变,设计父类时通常隐藏父类的内部数据,把父类属性改为private如果父类中可以被重写,但不希望被其他类自由访问可用protected修饰;2:什 ...

  6. 在线程中建立Form遇到的问题

    一个项目由很多Form组成,默认情况下在启动程序时,这些form都会被建立,这会黑屏很长时间,一种方法是用到Form时再建立,结果又发现如果Form设计复杂,建立的过程也会超过1秒以上,于是想到用线程 ...

  7. 将vim作为QT开发的IDE

    转载请注明链接与作者huihui1988 用了一段时间的vim,喜欢上了这种简洁高效的编辑器.恰逢正在学习QT中,于是将vim变成了开发QT的工具.以下是具体配置. 一.语法高亮支持: 1.打开VIM ...

  8. rc.local自启动学习

    在CentOS系统下,主要有三种方法设置自己安装的程序开机启动.1.把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd. #!/bin/sh # # ...

  9. C语言的本质(33)——GCC编译器入门

    GCC(GNU CompilerCollection,GNU编译器套装),是由 GNU 开发的编程语言编译器.它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分.GCC原本作为GNU操作系 ...

  10. LeeCode(Database)-Combine Two Tables

    Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId ...