Linux
下可用
gcov
工具生成覆盖率统计信息,然后借助
gcov
的图形化工具
lcov
,可生成
html
格式的代码覆盖率报告,进一步提高覆盖率测试结果的可读性。
当构建一个程序时,gcov会监视一个程序的执行,并且会标识出执行了哪一行源码,哪一行没有执行。更进一步,gcov可以标识出某一行源执行的次数,这对于执行配置很有用(程序在哪里花费了大多数的时间)。
LCOV是GCOV图形化的前端工具,是Linux Test Project维护的开放源代码工具,最初被设计用来支持Linux内核覆盖率的度量基于Html输出,并生成一棵完整的HTML树。
输出包括概述、覆盖率百分比、图表,能快速浏览覆盖率数据
支持大项目,提供三个级别的视图:目录视图、文件视图、源码视图
Gcc
中添加
-ftest-coverage
编译选项后
一:后台程序预处理gcov
后台服务程序一旦启动很少主动退出.可以给待测程序注册一个信号处理函数(signal handler),处理SIGINT、SIGQUIT、SIGTERM等常见强制退出信号,并在信号处理函数中主动调用exit或 __gcov_flush函数,以便输出统计结果。
解决办法,
在main.c 中的main中加入reg_sigterm_handler(sigterm_handler);即可
-
static void sigterm_handler( int signum)
-
{
-
exit(0)
-
}