gcov 统计 inline 函数
来源:互联网 发布:教室别恋 知乎 编辑:程序博客网 时间:2024/05/16 18:42
gcov 统计 inline 函数
(金庆的专栏)
gcov可以统计 inline 函数,可是实际使用中碰到统计次数总是为0的现象。
假设类A的头文件为 A.h, 实现文件为 A.cpp.
A 有几个 inline 成员函数定义在 A.h 中。
使用 gcov 统计 A 的代码覆盖率时,可能会发现 A.h 中的 inline 成员调用次数为空或0。
除了确实未调用的原因,可能是 gcov 统计的对象错了。
"gcov A.cpp" 统计的是 A.cpp 中实现的函数代码,如果 A.cpp 中未调用自身的 inline 函数,统计结果确实为0。
只有到这些 inline 的调用方 cpp 文件中去统计,才会有想要的结果。
例如,B.cpp 中调用了 A 的 inline 函数,"gcov B.cpp" 才会统计出这些 inline 代码.
参考:
Why the inline function can not be covered?
另外,CMake 构建的.o文件命名不是 A.o, 而是 A.cpp.o, 所以
gcov A.cpp
会报 A.gcno 不存在。
实际文件应该是 A.cpp.gcno.
把它复制为 A.gcno 就行了。
或者用
gcov A.cpp.gcda
不知为什么,可以直接用 gcda 文件作为输入。
或者
gcov -o A.cpp.o A.cpp
这样应该是标准的调用方式。
0 0
- gcov 统计 inline 函数
- gcov lcov覆盖率统计工具
- 【转载】gcov 用法 --用于统计代码覆盖率
- C/C++ 程序代码覆盖率统计工具Gcov
- gcov
- Inline 函数
- Inline 函数
- inline函数
- inline 函数
- inline函数
- inline函数
- inline函数
- inline函数
- inline 函数
- inline函数
- inline函数
- inline函数
- inline函数
- NYOJ 走迷宫
- 在GitHub上面创建一个自己的repository
- Ubuntu 13.10 安装后配置
- data-dojo-id, dijit/registry.byId() and dojo/dom.byId()
- Read系统调用剖析
- gcov 统计 inline 函数
- Android中自定义标题的titlebar
- mongodb windows 开启服务 1067 错误解决
- 分布式缓存
- 为exe,dll等可执行程序添加版本号版权等信息
- 北漂,可好?
- core foundation与objective-c的区别
- 经典惩罚办法
- Android下用Activity实现圆角的自定义弹窗