SuperAPI AI 工具集

Code Coverage with gcov

智能体与模型

查看项目

更新于 10-16 05:48

技能介绍

用途:为 C/C++ 程序添加 gcov 覆盖率插桩,用于测量测试覆盖率。

主要能力:使用 gcc --coverage 编译并运行程序后生成 .gcda 执行数据;用 gcov source.c 生成逐行覆盖的 .gcov 文本报告,或用 gcovr --html-details -o coverage.html 生成 HTML 报告。支持行覆盖率、分支覆盖率、函数覆盖率等指标。

使用方式:编译时加 --coverage(等价于 -fprofile-arcs -ftest-coverage -lgcov),需同时加入 CFLAGS 和 LDFLAGS。Makefile 可用 ENABLE_COVERAGE 开关追加该选项;CMake 可用 option(ENABLE_COVERAGE) 配合 add_compile_options 与 add_link_options。典型流程:检测构建系统、添加 --coverage、清理旧构建(make clean 或 rm -f *.gcda *.gcno)、以覆盖率模式构建、运行测试、用 gcovr --html-details coverage.html --print-summary 生成报告并展示摘要与 HTML 路径。

适用场景:C/C++ 项目的单元测试与回归测试覆盖率评估。

限制:资料未提供具体平台、收费、价格或效果保证;目标值 80%+ 行覆盖率、70%+ 分支覆盖率仅为资料中给出的参考目标。