Sto cercando di usare gcov su Linux (Ubuntu) per vedere la frequenza di esecuzione per ogni linea di origine.gcov non mostra alcun dato di copertura
ho aggiunto seguente bandiere al mio compilatore gcc e le bandiere linker,
CCFLAGS = -fprofile-arcs -ftest-coverage
LDFLAGS = -fprofile-arcs -lgcov
ma dopo la compilazione e l'esecuzione del programma, vedo nessun file .gcda * creato. Come risultato di che quando corro
gcov --object-directory <path to the *.gcno/*.gcda files> myfile.cpp
Spettacoli errore:
myfile.gcda:cannot open data file, assuming not executed
File '../../../../../code/myfile.cpp'
Lines executed:0.00% of 2625
mi manca qualcosa. Come risolvere questo?
Il programma ha eseguito con successo a compimento? –
Inoltre, cosa ottieni quando esegui 'stringhe compiled_prog | grep gcda'? –
@Shawn - È un servizio/demone che non ritorna. Quindi essenzialmente devo CTRL-C l'eseguibile nel terminale per fermarlo. Questo influenza il comportamento di gcov. So che gprof non genera dati di profilazione per tali processi che non escono(). Anche GCOV ha questa limitazione. – goldenmean