有人编写了一个脚本,将gcov分支覆盖率输出转换为编译器警告格式吗?

有人编写了一个脚本,将gcov分支覆盖率输出转换为编译器警告格式吗?,gcov,source-insight,Gcov,Source Insight,大多数代码编辑器知道如何将文件路径、行号、消息文本和超链接的合理标准格式转换为代码。他们知道怎么做,因为这就是他们显示编译器警告的方式。VisualStudio可以做到这一点,而SourceInsight对此的配置非常简单。如果有必要,我会自己写剧本,但也许有人已经这么做了 正在寻找获取gcc的gcov分支覆盖率输出并将其转换为该格式的脚本。您可以使用简单的awk脚本处理gcov的输出: /.*:.*:/ { split($2,tokens,":"); LINE=tokens[1

大多数代码编辑器知道如何将文件路径、行号、消息文本和超链接的合理标准格式转换为代码。他们知道怎么做,因为这就是他们显示编译器警告的方式。VisualStudio可以做到这一点,而SourceInsight对此的配置非常简单。如果有必要,我会自己写剧本,但也许有人已经这么做了


正在寻找获取gcc的gcov分支覆盖率输出并将其转换为该格式的脚本。

您可以使用简单的awk脚本处理gcov的输出:

/.*:.*:/ {
    split($2,tokens,":");
    LINE=tokens[1];
}

/#####:/ { print FILENAME ":" LINE ": warning: Line not executed"}

/branch/ {
    if ($4 == 0)
    print FILENAME ":" LINE ": warning: " $0;
}
使用
awk-f warn.awk main.c.gcov运行
并将输出转换为:

main.c.gcov:35:警告:分支0已执行0(故障排除)

main.c.gcov:37:警告:未执行行