分类分类
关注+2011-07-12作者:清晨
(gdb) p gcov_var
$1 = {
file = 0x810c008, // 文件指针
start = 0,
offset = 0,
length = 0,
overread = 4294967295, // 4294967295 =0xffffffff=-1
error = 0,
mode = 1,
endian = 0,
alloc = 2050,
buffer = 0x810c170
}
(gdb) x /42w 0x810c170 // 查看 buffer 中的前 42 个字,共 168 字节,就是 test.gcda 文件的内容
0x810c170: 0x67636461 0x34303170 0xc5ecae39 0x01000000
0x810c180: 0x00000002 0x00000003 0xeb65a768 0x01a10000
0x810c190: 0x0000000a 0x0000000a 0x00000000 0x00000000
0x810c1a0: 0x00000000 0x00000001 0x00000000 0x00000000
0x810c1b0: 0x00000000 0x00000001 0x00000000 0xa1000000
0x810c1c0: 0x00000009 0x00000000 0x00000005 0x00000001
0x810c1d0: 0x0000000c 0x00000000 0x0000000a 0x00000000
0x810c1e0: 0x0000000a 0x00000000 0xa3000000 0x00000009
0x810c1f0: 0x51924f98 0x00000005 0x00000001 0x0000000c
0x810c200: 0x00000000 0x0000000a 0x00000000 0x0000000a
0x810c210: 0x00000000 0x00000000
其中,前 3 个字 (4 字节 / 字 ) 即为 magic, version, stamp ;蓝色部分即为 tag ,可以参考 " Linux 平台代码覆盖率测试 -GCC 如何编译生成 gcov/gcov-dump 程序及其 bug 分析 " 一文的 3.3 和 3.4 节,也可以参考本文第 3 节。
为什么为 gcov_var.buffer 分配了 8200 字节的空间?
——这就是 gcov_allocate 完成的。
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论