【问题标题】:geninfo searches .da instead of .gcdageninfo 搜索 .da 而不是 .gcda
【发布时间】:2014-06-28 17:38:36
【问题描述】:

当我尝试通过 Plink 执行以下 lcov 命令时(我给 Plink 一个文本文件作为包含以下命令的参数)

lcov --capture --directory . --output-file coverage.info

结果是

GNU gcov 1.5 版从 . 扫描。对于 .da 文件 ... gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] 文件 geninfo:在模式匹配中使用未初始化的值 (m//) 在 /home/myUser/lcov/lcov/usr/bin/geninfo 第 1874 行。gcov [-b] [-v] [-n] [-l] [-f] [-o OBJDIR] 文件 geninfo:使用未初始化 /home/myUser/lcov/lcov/usr/bin/geninfo 中的模式匹配 (m//) 中的值 第 3622 行。 geninfo:在模式匹配中使用未初始化的值 (m//) 在 /home/myUser/lcov/lcov/usr/bin/geninfo 第 3622 行。 geninfo:错误:在 .! 中找不到 .da 文件

似乎 geninfo 需要 .da 文件而不是 .gcda 文件。 当我在没有 Plink 的情况下(在同一个 CWD 中)执行相同的命令时,lcov 运行良好并生成一个有效的 .info 文件。当我通过 PuTTY 手动执行它时,它也运行良好。

这可能是什么原因?

【问题讨论】:

    标签: command code-coverage putty plink lcov


    【解决方案1】:

    问题更普遍。 Plink 使用不同的环境变量。解决方案是手动设置正确的环境变量。在我的例子中,我运行 perl 脚本,所以我在文件的头部添加了:

    use Env;
    $ENV{PATH} = "correct PATH variable";
    

    缺少环境变量导致代码获取错误的 gcov 版本,因此搜索 .da 文件而不是属于较新 lcov 版本的 .gcda 文件

    【讨论】:

      【解决方案2】:

      将 lcov 版本升级到最新版本解决了这个问题。旧版本的 lcov 搜索 .da 而不是 .gcda。更新到最新版本 1.13 解决了这个问题

      【讨论】:

        猜你喜欢
        • 2019-07-30
        • 2018-04-26
        • 1970-01-01
        • 2020-07-22
        • 1970-01-01
        • 1970-01-01
        • 2022-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多