callgrind: como verificar se uma linha executada ou não
-
26-09-2019 - |
Pergunta
É possível usar o CallGrind para produzir a saída como uma dada pelo GCOV/LCOV? Estou lendo os documentos deles incapazes de encontrar a opção exata para callgrind_annotate
Solução
Não é possível, mas Callgrind_annotate nem KcacheGrind deve implementá -lo. No entanto, com o KCACHEGRind, você tem a contagem de chamadas de cada funções/métodos.
Coluna Chamadas dentro Custo/todos os chamadores guia ou Contar dentro Chamadores A guia deve ser relevante.
Outras dicas
Sim você pode. Usando CallGrind-Collect-jumps = Sim e as ferramentas descritas no link abaixo, você pode obter as mesmas informações que o GCOV. Não é tão bonito quanto o LCOV, mas a economia de tempo pode valer a pena.
http://benjamin-meyer.blogspot.com/2007/12/valgrind-callgrind-tools-part-3-code.html
Observe que isso funciona muito bem, mesmo com binários otimizados, então você economizará um monte de tempo no seu ciclo de construção/teste por não tendo que recompilar com -cobertura.
Você também pode mesclar várias execuções de teste antes de usar o script de Benjamin usando CG_MERGE.