小编MrD*_*nne的帖子

Gcov 报告普通函数调用的分支

我正在使用 gcov 来获取我们项目的代码覆盖率,但它经常报告 50% 的普通函数调用的条件覆盖率。函数是否接受任何参数或返回任何数据都没有任何区别。我在 Jenkins 中使用 gcovr 和 Cobertura,但是一个简单的 gcov 文件给出了相同的结果。下面附上实际测试的代码以及存根函数,所有代码均为 gcov 格式。任何想法为什么 gcov 威胁这些函数调用作为分支?

        -:  146:/*****************************************************************************/
function _Z12mw_log_clearv called 2 returned 100% blocks executed 100%
        2:  147:void mw_log_clear( void )
        2:  147-block  0
        -:  148:{
        2:  149:    uint8_t i = 0;
        2:  150:    uint8_t clear_tuple[EE_PAGE_SIZE] = { 0xff };
        -:  151:    
       66:  152:    for (i = 0; i < (int16_t)EE_PAGE_SIZE; i++)
        2:  152-block  0
       64:  152-block  1
       66:  152-block  2
branch  0 taken 97%
branch  1 taken 3% …
Run Code Online (Sandbox Code Playgroud)

conditional branch cobertura gcov

5
推荐指数
1
解决办法
2041
查看次数

标签 统计

branch ×1

cobertura ×1

conditional ×1

gcov ×1