-1

我想获取代码覆盖率信息。在仅运行一项功能期间。例如,我只想知道“run()”经历了哪些行。

测试.cpp:

#include "..."

int main(){
  init();
  gcov_start_recording();
  run();
  gcov_end_recording();
  return 0;
}
4

1 回答 1

1
它无法从正常的二进制文件中获取源代码信息。
我的基本想法是:
1. 可执行文件应编译为调试版本,
 保留符号信息。  
2. 你需要一个 GDB 的外部包装脚本。

在函数的入口和出口处设置断点。
从 GDB 收集跟踪输出。
过滤输出中的重复行。
最后你会得到代码封面信息。

 
于 2013-05-09T09:54:42.543 回答