使用gcov对gcc项目进行覆盖分析

本文介绍了如何使用gcov工具对gcc编译的项目进行覆盖率分析。通过添加特定的编译和链接参数,生成相应的gcno和gcda文件。在执行程序后,gcov能展示每个源代码文件的执行情况,包括已执行和未执行的行数,并生成详细的gcov报告,帮助开发者了解代码的执行情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在gcc项目中,编译参数加上-fprofile-arcs -ftest-coverage,连接参数加上-lgcov

编译以后除了产生.o文件以外,还生成*.gcno文件,

先执行编译的结果文件,会生成*.gcda文件(可以反复执行多次,都会累加到对应的gcda文件中)

执行gcov myfile.cpp(myfile.cpp是某个源码文件)

提示:

File‘src/ceftool.cpp’
已执行的行数:54.55% (共 22 行)
src/ceftool.cpp:正在创建‘ceftool.cpp.gcov’

File‘/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iostream’
已执行的行数:100.00% (共 1 行)
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iostream:正在创建‘iostream.gcov’

File‘/home/liubin/abwork/repository/leadtone/pmapi_mig_v2.0/2.5-r2559/include/pmapi2.5/pmscl/PmComSmartPtr.h’
已执行的行数:0.00% (共 6 行)
/home/liubin/abwork/repository/leadtone/pmapi_mig_v2.0/2.5-r2559/include/pmapi2.5/pmscl/PmComSmartPtr.h:正在创建‘PmComSmartPtr.h.gcov’

 

在当前目录生成*.gcov文件,直接打开gcov文件可以查看结果,如下:

/home/liubin/svn/cefsdk/project/unix/ceftool>vi ceftool.cpp.gcov

  1      &n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值