在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

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

被折叠的 条评论
为什么被折叠?



