Чем отличается покрытие блоков и филиалов и что они говорят? - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь проанализировать мой код на основе покрытия блоков и ветвей с помощью gcov. Как я буду различать их в gcov?Как я узнаю, когда блок начинается в коде.Код находится здесь.https://github.com/dsouzajaison/stackoverflowquestion

I покрытие отображается только для функции сложения.Я использую опции -a и -b, чтобы получить блоки и ветви.Ниже приведены файлы с кодом и выводом gcov.from file blockcalculator.c.gcov

  • Почему я могу видеть все разные блоки как block0?
  • , когда именование блоков изменяется с 0 на 1, 2, 4 ..?
  • Имеет ли блок строки, заданный в строке 10, строки 6,7,8,9,10?
    -:    0:Source:calculator.c
    -:    0:Graph:calculator.gcno
    -:    0:Data:calculator.gcda
    -:    0:Runs:1
    -:    0:Programs:1
    -:    1:#include "calculator.h"
    -:    2:#include <stdio.h>
    -:    3:#include <stdlib.h>
    -:    4:
    1:    5:int main(int argc, char *argv[])
    1:    5-block  0
    -:    6:{
    -:    7:    int a,b, result;
    -:    8:    char opr;
    -:    9:
    1:   10:    if(argc!=4)
    1:   10-block 0

- почему при возврате -1 не является частью того же блока, что ивывести оператор в строке 13?

из файла branchcalculator.c.gcov -

  • почему в строке 43 всего 7 ветвей?- В чем разница между ветвью и блоком?

Я прочитал документацию.Но не в состоянии понять это.https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/Invoking-Gcov.html#Invoking-Gcov

  • Мне нужно пояснение по опции -a тоже.
...