首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LCOV报告:“geninfo:负长度”

LCOV报告:“geninfo:负长度”
EN

Stack Overflow用户
提问于 2014-01-28 12:39:54
回答 1查看 1K关注 0票数 3

我在两个系统(windows 7,cygwin,LCOV 1.10)上使用Lcov分析C代码.在一个系统上,我从来没有出过问题,但在另一个系统上,我得到的代码是相同的:

代码语言:javascript
复制
$ lcov --directory CMakeFiles/UnitTest.dir/main --capture --output-file lcov.log
Capturing coverage data from CMakeFiles/UnitTest.dir/main
Found gcov version: 4.8.2
Scanning CMakeFiles/UnitTest.dir/main for .gcda files ...
Found 59 data files in CMakeFiles/UnitTest.dir/main
Processing analyze/analyze.c.gcda
[..]
Processing measure/measur.c.gcda
geninfo: Negative length at /usr/bin/geninfo line 2413.

在这两个系统上,文件夹和文件是相同的(通过subversion修订控制)。也许有些路会有问题,我想。有人知道这是怎么回事吗?谢谢你,领导

增编:我发现完全清理项目(删除所有CMakeFiles和CMakeCache)并重新运行lcov逗号是有帮助的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-16 06:29:19

在对象文件中不再存在覆盖信息之前捕获的某个块时,似乎就会发生这种情况。问题是,.gcno文件仍将存储此类块的覆盖率信息。

要解决这个问题,只需删除.gcno文件并重新构建单元测试就足够了。

例如,我遇到了如下错误:

代码语言:javascript
复制
[...]
Processing CMakeFiles/UnitTest.dir/main.cpp.gcda
[...]
Processing CMakeFiles/UnitTest.dir/Math/BoundingBox.cpp.gcda
geninfo: Negative length at /usr/bin/geninfo line 2413.
Processing CMakeFiles/UnitTest.dir/Math/Vectors.cpp.gcda
make[3]: *** [source/CMakeFiles/] Error 255

在这种情况下,只需删除"CMakeFiles/UnitTest.dir/Math/Vectors.cpp.gcno“文件,然后重新构建"UnitTest”项目即可。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21405787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档