【发布时间】:2018-11-28 11:54:06
【问题描述】:
我正在尝试使用 gcov-tool 为几个源文件合并一些现有的覆盖率数据(我没有自己创建)。但是,当我调用gcov-tool merge dir1 dir2 时,其中dir1 和dir2 是包含我打算合并的.gcda 文件的目录,我却遇到./SOME_FILE.gcda: not a gcov data file 中每个文件的错误dir1。
起初我认为覆盖文件必须已损坏,但后来我查看了gcc-6.3.0(与我安装的gcov-tool的版本匹配)源代码(libgcc/libgcov-util.c),其中该错误消息似乎只有在某些 .gcda 文件的前几个字节与魔术 ASCII 字符串“gcda”不匹配时才会打印。然而hd dir1/SOME_FILE.gcda 产生:
00000000 67 63 64 61 36 30 33 2a 17 68 64 3d 01 00 00 00 |gcda603*.hd=....|
等等。
以前有没有人处理过类似的事情?
【问题讨论】: