gcov

简介

gcov 全称 GNU Coverage,由 GNU 出品的代码覆盖率检查工具。

使用

新创建源码文件 foo.c,如下:

#include <stdio.h>

void func(int flags)
{
        if (flags)
                printf("hello\n");
        else
                printf("no\n");
}

int main(int argc, char *argv[])
{
        func(1);
        func(1);

        return 0;
}

编译源码文件,生成 gcov 标记文件 x.gcno、可执行文件 foo

跑可执行文件 foo,生成 gcov 数据文件 x.gcda

通过 gcov 工具生成 x.c.gcov 文件

打开 foo.c.gcov,可以看到每一行的覆盖信息,如下:

其中 - 代表无效代码行,数字 代表此行执行次数,##### 代表此行没有执行过。

也可以通过 lcov 工具进行可视化,转换成 index.html 在浏览器显示,如下:

Last updated

Was this helpful?