gcov/lcov代码覆盖率工具使用说明

本文介绍了如何使用gcov/lcov工具进行C++代码覆盖率分析。通过在CMakeList.txt中设置ENABLE_GCOV选项,添加编译标志,并在cmake编译时启用该选项。编译后生成的*.gcno和*.gcda文件分别包含基本块图信息和运行数据。使用lcov捕获覆盖率信息,生成testHtml.info文件,然后通过genhtml将信息转换为HTML报告,展示在result文件夹中。
摘要由CSDN通过智能技术生成
gcov是linux下进行代码覆盖测试的工具,随着gcc一起发布。

lcov是gcov的图形化前端工具,根据gcov生成的内容,处理成一颗完整的html树,包括概述、覆盖率百分百、图标等轻便直观的内容。


在根CMakeList.txt中添加ENABLE_GCOV选项:
OPTION(ENABLE_GCOV "Enable gcov (debug, Linux builds only)" OFF)
IF (ENABLE_GCOV AND NOT WIN32 AND NOT APPLE)
    SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
    SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
  SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage -lgcov")
ENDIF()
cmake编译时记得加选项:

cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_GCOV=1 ..

编译后就可以看到图文件 *.gcno(.gcno是由-ftest-coverage产生的,它包含了重建基本块图和相应的块的源码的行号的信息)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值