callgrind: come controllare se una linea eseguita o no
-
26-09-2019 - |
Domanda
E 'possibile utilizzare callgrind per produrre l'output come quella data da gcov / lcov? Sto leggendo i loro documenti non in grado di trovare l'opzione esatta per callgrind_annotate
Soluzione
Non è possibile, ma callgrind_annotate né kcachegrind dovrebbe attuarlo. Tuttavia, con kcachegrind avete conteggio della chiamata di ogni funzioni / metodi.
Colonna Chiamate in Costo / Tutti i chiamanti scheda o Conteggio in chiamanti scheda dovrebbe essere rilevante.
Altri suggerimenti
Sì, è possibile. Utilizzando callgrind --collect-salti = sì, e gli strumenti descritti al link qui sotto, si può ottenere molto le stesse informazioni gcov. Non è bella come lcov, ma il risparmio di tempo potrebbe essere proprio la pena.
http: // benjamin- meyer.blogspot.com/2007/12/valgrind-callgrind-tools-part-3-code.html
Si noti che questo funziona abbastanza bene anche con i binari ottimizzati, in modo si risparmia un sacco di tempo nel ciclo di build / test non dover ricompilare con --coverage.
È inoltre possibile unire più corse di prova prima di usare lo script di Benjamin utilizzando cg_merge.