一.安装 gcov:是随gcc一起发布的,并不需要独立安装:lcov:其他博客说是随ltp发布的,结果下载下ltp之后编译了10多分钟,最后也没见lcov,最后到sourceforge下载了lcov单独的代码: wget http://ncu.dl.sourceforge.net/project/ltp/Coverage Analysis/LCOV-1.12/lcov-1.12.tar.gz tar -zxvf lcov-1.12.tar.gz make make install 二.使用 以h…
C/C++代码覆盖工具gcov与lcov入门 gcov是一个可用于C/C++的代码覆盖工具,是gcc的内建工具.下面介绍一下如何利用gcov来收集代码覆盖信息.想要用gcov收集代码覆盖信息,需要在gcc编译代码的时候加上这2个选项 “-fprofile-arcs -ftest-coverage”,把这个简单的程序编译一下 gcc -fprofile-arcs -ftest-coverage hello.c -o hello 编译后会得到一个可执行文件hello和hello.gcno文件,当用g…
在嵌入式平台上使用了gtest白盒测试工具,覆盖了被测函数,但是不知道自己测试的效果如何,测试行覆盖率.函数覆盖率,分支覆盖率的数据. 便开始研究gcov这个代码覆盖率工具能否使用,来检查白盒测试的效果,以及指引测试改进的方向.经过多次尝试和研究, 在嵌入式平台上可以使用gcov这个工具,不过操作稍微复杂点. 环境要求: 1.有被测组件的源代码 2.对应平台的交叉编译器必须包含gcov功能 3.安装好lcov工具 4.相应的嵌入式设备 使用gcov/lcov测试代码覆盖率,总共分为四步: 1.在…
gcov是一个可用于C/C++的代码覆盖工具,是gcc的内建工具.下面介绍一下如何利用gcov来收集代码覆盖信息. 想要用gcov收集代码覆盖信息,需要在gcc编译代码的时候加上这2个选项 “-fprofile-arcs -ftest-coverage”,把这个简单的程序编译一下 gcc -fprofile-arcs -ftest-coverage hello.c -o hello 编译后会得到一个可执行文件hello和hello.gcno文件,当用gcc编译文件的时候,如果带有“-ftest-…
代码覆盖分析能在请求时让你知道脚本哪一行(或哪一段)在执行. 相关设置 xdebug.coverage_enable 类型: boolean, 默认值: 1, 始于 Xdebug >= 2.2 如果设为0, Xdebug不会设置内置结构来允许代码分析,这能加速xdebug快些,不过代码覆盖分析将不会工作. 相关函数 boolean xdebug_code_coverage_started() 返回布尔值查看代码覆盖分析是否已经开始. Example: <?php var_dump(xdebug…
/********************************************************************** * 为AM335x移植Linux内核主线代码 * 说明: * MariannaZhu对AM335x做Linux内核移植时写的blog,记录一下,也许以后 * 用得到. * * 2016-12-5 深圳 南山平山村 曾剑锋 *******************************************************************…
Linux内核启动代码分析二之开发板相关驱动程序加载分析 1 从linux开始启动的函数start_kernel开始分析,该函数位于linux-2.6.22/init/main.c  start_kernel()    --2>setup_arch(&command_line);//该函数位于arch/arm/kernel/setup.c           //在这个函数中定义了一个描述开发板的属性的结构体struct machine_desc *mdesc           struc…
gradle很好用,但是默认是没有代码覆盖功能的,只好自己写.曾经在网上找到过别人的一段脚本,虽然也能用,但是有一些不爽的地方,一个原因是它不支持对层级工程中全部代码的覆盖,另一个原因是它用替换build/classes/main里面的class文件,再依赖gradle的单元方式来实现的.我自己写了一个代码覆盖的脚本,可以避免这两个问题,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28…
在VS中编写代码时,需要插入代码是,经常是将插入点后面的代码覆盖掉而不是将它向后推. 解决这样的问题,只需要按   Insert 键即可, 我的笔记本是   Fn 加 del…
EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行.得到了Google和Yourkit的支持. 生成的测试cases的运行依赖 由EvoSuite生成的测试cases需要EvoSuite框架的runtime包支持才能进行测试,因此要在工程中加入如下的Maven依赖 <dependency>  <groupId>org.evosuite</groupId>  <a…