gpt4 book ai didi

c - Lcov:无法收集分支覆盖率统计

转载 作者:太空狗 更新时间:2023-10-29 16:26:36 29 4
gpt4 key购买 nike

我使用 lcov 在我的项目中创建覆盖率信息。但是我只能得到行覆盖和函数覆盖统计信息。

lcov version:1.10, gcov version:4.4.5

我使用的命令是:

 lcov -d $OSPL_HOME/src -d $OSPL_OUTER_HOME/src  -c -o /work/li/log/lcov-raw.info

lcov -r /work/li/log/lcov-raw.info "*.ll" "*.yy" "*.yy.c" yaccpar "TAO161*" "/usr/include/*" "*/testsuite/*" -o /work/li/log/lcov.info

经过这两条命令,我得到的结果是:

Deleted 23 files

Writing data to /work/li/log/lcov.info

Summary coverage rate:

lines......: 45.4% (65087 of 143496 lines)

functions..: 46.1% (5575 of 12102 functions)

**branches...: no data found**

所以没有分支覆盖结果。为什么?所以发生了什么事?这怎么会发生呢?我在这里很困惑。

在第一个命令之后,我收到了很多这样的警告:

geninfo: WARNING: cannot find an entry for ..#..#code#accum.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#at.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#autodef.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#copyof.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#debug.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#define.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#dump.c.gcov in .gcno file,skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#error.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#expand.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#expr.c.gcov in .gcno file,skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#if.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#include.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#io.c.gcov in .gcno file, s kipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#is.c.gcov in .gcno file, s kipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#line.c.gcov in .gcno file,skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#pragma.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#preprocess.c.gcov in .gcnofile, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#set.c.gcov in .gcno file,skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#sharp.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#symtbl.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#undef.c.gcov in .gcno file, skipping file!
geninfo: WARNING: cannot find an entry for ..#..#code#while.c.gcov in .gcno file , skipping file!

最佳答案

我收到了来自 geninfo 的作者 Peter Oberparleiter 的电子邮件。我得到的答案如下。

LCOV 1.10 默认禁用分支覆盖。您可以通过修改 lcovrc 文件(参见 man lcovrc)或在运行 lcov/genhtml 时指定 --rc lcov_branch_coverage=1 来启用它。

如果您没有使用 LCOV 1.10 并且仍然没有获得分支覆盖,则可能是您的 GCC 版本没有提供此信息。

(上述答案被 the author 错误地添加到问题中。)

关于c - Lcov:无法收集分支覆盖率统计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378640/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com