Taotoken API调用延迟与稳定性在实际项目中的体验观察
2026/5/28 15:43:01
gcov是一个测试代码覆盖率的工具,发现程序的未测试部分
是一个命令行方式的控制台程序。需要结合 lcov, gcovr ,genhtml 等前端图形工具才能实现统计数据图形化
命令:gcc -fprofile-arcs -ftest-coverage hello.c-fprofile-arcs 在运行编译过的程序的时候,会产生 .gcda 文件, 它包含了弧跳变的次数等信息 -ftest-coverage 在编译的时候产生.gcno 文件, 它包含了重建基本块图和相应的块的源码的行号的信息Gcc中指定-ftest-coverage 等覆盖率测试选项后,gcc 会:
* 在输出目标文件中留出一段存储区保存统计数据 * 在源代码中每行可执行语句生成的代码之后附加一段更新覆盖率统计结果的代码,也就是前文说的插桩 * 在最终可执行文件中进入用户代码 main 函数之前调用 gcov_init 内部函数初始化统计数据区, * 并将gcov_exit 内部函数注册为 exit handlers用户代码调用 exit 正常结束时, * gcov_exit 函数得到调用,其继续调用 __gcov_flush 函数输出统计数据到 *.gcda 文件中