【发布时间】:2012-06-02 12:27:37
【问题描述】:
我的构建目录包含 .gcno 和 .gcda 文件。当我用 CoverStory 打开目录时,一切正常。
我的最终目标是读取 gcov 输出(.gcno 和 .gcda 文件),但这两种文件类型是二进制格式。有没有办法通过终端读取它们,以便我可以将文本保存为文本文件?
谢谢!
【问题讨论】:
-
我的问题很相似,但更像是有人知道 gcda/gcno 格式的规范在哪里?
标签: gcov
我的构建目录包含 .gcno 和 .gcda 文件。当我用 CoverStory 打开目录时,一切正常。
我的最终目标是读取 gcov 输出(.gcno 和 .gcda 文件),但这两种文件类型是二进制格式。有没有办法通过终端读取它们,以便我可以将文本保存为文本文件?
谢谢!
【问题讨论】:
标签: gcov
没有简单的方法可以将这些文件转换为 ASCII 格式。如果您有兴趣,可以在这里找到文件格式的规范:
http://src.gnu-darwin.org/src/contrib/gcc/gcov-io.h.html
gcov 程序可以向您显示这些文件的处理版本(以源文件的覆盖率分析的形式)。
【讨论】:
试试这个:
gcov -dump ***.gcno ; gcov -dump ***.gcda
gcov: LLVM code coverage tool
USAGE: gcov [options] SOURCEFILE
-dump:- Dump the gcov file to stderr
更多详细信息,使用 gcov -help
【讨论】:
我知道这是旧帖子,但如果您正在寻找 html 输出,请查看 zekel 的回复
为此,您必须在 Mac 上安装 lcov。以下是安装 lcov 的方法。
【讨论】:
使用 GCC 编译器时,使用 -fdump-rtl-all -fdump-tree-all -fdump-ipa-all 以文本格式查看一些信息。您将看到一些名称以 .profile_estimate 结尾的文件
您还应该能够看到编译器如何使用配置文件。这里的问题是转储文件很多。
【讨论】: