Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想获取代码覆盖率信息。在仅运行一项功能期间。例如,我只想知道“run()”经历了哪些行。
测试.cpp:
#include "..." int main(){ init(); gcov_start_recording(); run(); gcov_end_recording(); return 0; }
它无法从正常的二进制文件中获取源代码信息。 我的基本想法是: 1. 可执行文件应编译为调试版本, 保留符号信息。 2. 你需要一个 GDB 的外部包装脚本。 在函数的入口和出口处设置断点。 从 GDB 收集跟踪输出。 过滤输出中的重复行。 最后你会得到代码封面信息。