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程序输出结果
其中的空行和//注释为笔者所加。