文章内容

作者: antony已经被占用 | 来源:发表于2021-08-29 08:28 被阅读0次

开发测试

覆盖率

覆盖率技术原理

https://wenku.baidu.com/view/ee03dc1858fafab069dc0296.html

插装原理及方法

字节码处理方式

JaCoCo通过注入来修改和生成java字节码,使用的是ASM库。我们知道JaCoCo是字节码注入方式,它是通过一个Probe探针的方式来注入的,探针是字节指令集插入到java方法中,程序执行后可以被记录,它不会改变原有代码的行为。
颜色的部分就是探针注入的地方。

JaCoCo是根据控制流Type来采用不同的探针插入策略的。

一个用java字节码定义的java方法的控制流图可能有以下的type,每一个type连接一个源指令与目标指令,type不同探针的注入策略也会不同,如下是type定义:
探针不改变该方法的行为,但记录他们已被执行的事实,从理论上讲,可以在控制流图的每一个边插入一个探针,作为探针实现本身需要多个字节码指令,这将增加几倍的类文件的大小和执行速度。事实上,只需要一个几个探头,根据每个方法的控制流的方法,下面说明了如何在不同的边缘类型的情况下添加额外的指令:

https://juejin.im/entry/57b2cea7a341310060feb804

0x2b aload_1 将第二个引用类型本地变量推送至栈顶
0x05 iconst_2 将int型2推送至栈顶
0x04 iconst_1 将int型1推送至栈顶
从操作数栈存存储到数组:bastore

https://www.jacoco.org/jacoco/trunk/doc/flow.html

相关文章

  • 文章标题

    文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文章内容文...

  • 文章内容

    开发测试 覆盖率 覆盖率技术原理 https://wenku.baidu.com/view/ee03dc1858f...

  • 概括文章内容

    和不懂概括的人聊天总是特别心累,因为他总是“言不及义”,比如说,他如果去面试,面试官跟他说:请你概括一下自己以往的...

  • 文章内容申明

    本系列文章在作者学习基础上,将主要引荐菜鸟教程的内容 链接如下: http://www.runoob.com/py...

  • linux 查看文章内容

    cat file 输出文件中所有的内容 tail -n file 输出file中倒数n行数据 sed -n "48...

  • mqtt 文章内容收集

    iOS MQTT(内含DEMO)

  • 原创文章内容整理

    教育类: 【文章】失业夫妻培养出2个名校博士:比贫穷更可怕的,是对教育的轻视 https://mp.weixin....

  • 分析文章内容结构

    一、《在岁月中,修养自己》 通过开门见山的方式开头,什么是修养,有修养的人是一道亮丽的风景。 接着通过并列递进式的...

  • 爱宝贝365测试文章标题

    爱宝贝365测试文章内容 爱宝贝365测试文章内容 爱宝贝365测试文章内容 爱宝贝365测试文章内容 爱宝贝36...

  • Webview 加载文章内容

    设置listview的点击事件 新建WebView,通过url获取html内容,问题是加载css的过程。webvi...

网友评论

    本文标题:文章内容

    本文链接:https://www.haomeiwen.com/subject/ytwtuftx.html