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

时间:2009-12-24 09:59:06

标签: gcov source-insight

大多数代码编辑都知道如何将合理标准格式的file_path,line_number,message_text和超链接纳入代码。他们知道如何,因为他们显示编译器警告的方式。 Visual Studio可以做到这一点,而Source Insight对此进行配置是微不足道的。如果必须的话,我会自己编写脚本,但也许有人已经这样做了。

寻找一个采用gcc的gcov 分支 coverage输出并将其转换为该格式的脚本。

1 个答案:

答案 0 :(得分:2)

您可以使用简单的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: warning: branch 0 taken 0 (fallthrough)
main.c.gcov:37: warning: Line not executed