【问题标题】:lcov respectively geninfo cannot read gcda fileslcov 分别是 geninfo 无法读取 gcda 文件
【发布时间】:2019-07-30 18:20:25
【问题描述】:

我正在尝试使用 cygwin 和 bash shell 在本地 Windows 计算机上设置 lcov。我安装了从这里下载的最新版本的lcov:lcov at sourceforge

当我调用一个特定的 gcda 文件时,我会得到一个输出。 来电是:lcov -c -d FileName.gcda -o outputfile.info

据我所知,lcov 应该能够遍历文件夹中的所有 gcda 文件。我要求轮换所有 gcda 文件是:

lcov -c -d . -o outputfile.info

使用上面的代码,我得到以下输出:

Capturing coverage data from .
Found gcov version 6.4.0
Scanning . for .gcda files ...
geninfo: WARNING: no .gcda files found in . - skipping!
Finished .info-file creation

这里是截图: 可以看出,有CanAdapter.gcda和CanAdapter.gcno,但是用上面的配置geninfo产生了失败。

当我尝试这样拨打电话时:

lcove -c -d *.gcda -o outputfile.info

我得到以下答案:

lcov: Extra parameter found: 'FileName2.gcda'
Use lcov --help to get usage information

我阅读了帮助,但它并没有我需要的那么多帮助。

【问题讨论】:

    标签: gcov lcov


    【解决方案1】:

    根据 lcov 手册页,-d 用于指定要使用的目录。

    所以试试

    -d .

    【讨论】:

    • 感谢您的回答。如您所见,我在发布的屏幕截图中添加了更好的理解。如您所见,有“-d”。我调用 lcov 时的参数。
    • 对不起,我使用 lcov 就是这样,它可以工作。在 Linux 上,我现在会运行 strace 来找出为什么它找不到文件,但我不确定 Windows
    【解决方案2】:

    我像这样在 Linux 上运行 lcov:

    lcov --c --directory 。 --output-file main.info

    这适用于我的设置。尝试在打开 shell 时运行 pwd 以查看您当前是否在同一目录中。

    【讨论】:

      【解决方案3】:

      我找到了问题的答案。

      在 windows 机器上运行 lcov 有两种可能性。

      1. 在 cygwin 文件夹中有一个名为“Cygwin.bat”的批处理脚本。 运行此脚本。 当脚本打开时,键入以下行:

      lcov -c -d /cygdrive/c/gcda 文件所在的路径 -o /cygdrive/c/输出文件夹所在的路径/lcov.info

      genhtml创建html文件也是如此。

      1. 您可以打开windows cmd.exe。在此之后,您需要添加以下行:

      sh -c -l "lcov -c -d /cygdrive/c/gcda文件所在路径 -o /cygdrive/c/输出文件夹所在路径/lcov.info"

      写作很重要

      sh -c -l

      中的lcov命令

      " "

      否则 lcov 和 genhtml 将无法工作。

      【讨论】:

        猜你喜欢
        • 2014-06-28
        • 2014-02-19
        • 1970-01-01
        • 2012-05-22
        • 2020-08-14
        • 2012-06-02
        • 2012-10-13
        • 1970-01-01
        • 2011-06-08
        相关资源
        最近更新 更多