【问题标题】:Reading .gcno and/or .gcda files on Mac在 Mac 上读取 .gcno 和/或 .gcda 文件
【发布时间】:2012-06-02 12:27:37
【问题描述】:

我的构建目录包含 .gcno 和 .gcda 文件。当我用 CoverStory 打开目录时,一切正常。

我的最终目标是读取 gcov 输出(.gcno 和 .gcda 文件),但这两种文件类型是二进制格式。有没有办法通过终端读取它们,以便我可以将文本保存为文本文件?

谢谢!

【问题讨论】:

  • 我的问题很相似,但更像是有人知道 gcda/gcno 格式的规范在哪里?

标签: gcov


【解决方案1】:

没有简单的方法可以将这些文件转换为 ASCII 格式。如果您有兴趣,可以在这里找到文件格式的规范:

http://src.gnu-darwin.org/src/contrib/gcc/gcov-io.h.html

gcov 程序可以向您显示这些文件的处理版本(以源文件的覆盖率分析的形式)。

【讨论】:

    【解决方案2】:

    试试这个:

    gcov -dump ***.gcno ;  gcov -dump ***.gcda
    
    
    gcov: LLVM code coverage tool
    
    USAGE: gcov [options] SOURCEFILE
    
    -dump:- Dump the gcov file to stderr
    

    更多详细信息,使用 gcov -help

    【讨论】:

    • 您能否对该命令添加一些解释以使其对未来的读者有用?
    【解决方案3】:

    我知道这是旧帖子,但如果您正在寻找 html 输出,请查看 zekel 的回复

    XCode - Code Coverage?

    为此,您必须在 Mac 上安装 lcov。以下是安装 lcov 的方法。

    1. sourceforge下载lcov-1.10.tar.gz
    2. 通过双击取消存档。
    3. 在解压文件夹的 bin 目录中编辑 install.sh,转到第 34 行(安装 -D $SOURCE $TARGET)并删除 -D 开关
    4. sudo make install

    【讨论】:

      【解决方案4】:

      使用 GCC 编译器时,使用 -fdump-rtl-all -fdump-tree-all -fdump-ipa-all 以文本格式查看一些信息。您将看到一些名称以 .profile_estimate 结尾的文件

      您还应该能够看到编译器如何使用配置文件。这里的问题是转储文件很多。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-06
        • 2014-11-15
        • 1970-01-01
        • 2020-01-30
        • 1970-01-01
        • 2019-07-30
        • 2015-06-12
        • 2015-03-12
        相关资源
        最近更新 更多