Linux平台代码覆盖率测试-.gcda/.gcno文件及其格式分析

2014-11-24 09:02:02 ? 作者: ? 浏览: 0

Content


0.


1. .gcda文件分析


1.1 gcov-dump程序输出结果


1.2 文件实际内容


1.3 文件格式总结


2. .gcno文件分析


2.1 gcov-dump程序输出结果


2.2 文件实际内容


2.3 文件格式总结


3. 小结




0.




1. .gcda文件分析



1.1 gcov-dump程序输出结果




1.2 文件实际内容



文件的二进制内容如下,对应以上输出,更清楚。


格式信息可以参考源代码,也可以参考"Linux平台代码覆盖率测试工具GCOV相关文件分析"



1.3 文件格式总结



在写入/读取文件时均以4字节为单位,下面的分析如不特别注明,每个数据均为4字节。



(0) file header格式



magic='gcda', version, stamp



(1) FUNCTION格式



tag=0x01000000, length, ident, checksum



(2) COUNTERS格式



tag=0x01a10000, length, counter1, counter2, ..., countern



其中,划线部分均为8字节,其他为4字节。另外,n=length/2



(3) OBJECT/PROGRAM SUMMARY格式



tag=0xa1000000/0xa3000000, length, checksum=0, counts, runs, sum_all, run_max, sum_max



其中,划线部分均为8字节,其他为4字节。



2. .gcno文件分析



2.1 gcov-dump程序输出结果



其中的空行和//注释为笔者所加。


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: