Próbuję użyć gcov na Linux (Ubuntu), aby zobaczyć częstotliwość wykonywania dla każdego wiersza źródła.gcov nie pokazuje żadnych danych pokrycia
Dodałem następujące flagi do mojego kompilator gcc i flagi łącznikowych,
CCFLAGS = -fprofile-arcs -ftest-coverage
LDFLAGS = -fprofile-arcs -lgcov
ale po kompilacji i uruchomieniu programu, nie widzę * .gcda plik utworzony. W wyniku czego, gdy biegnę
gcov --object-directory <path to the *.gcno/*.gcda files> myfile.cpp
Pokazuje błędzie:
myfile.gcda:cannot open data file, assuming not executed
File '../../../../../code/myfile.cpp'
Lines executed:0.00% of 2625
jestem brakuje czegoś. Jak to naprawić?
Czy program prowadzony z powodzeniem do końca? –
Co otrzymasz, gdy uruchomisz 'struny compiled_prog | grep gcda'? –
@Shawn - Jest to usługa/demon, który nie zwraca. Zasadniczo mam do CTRL-C plik wykonywalny w terminalu, aby go zatrzymać. Czy to wpływa na zachowanie gcov. Wiem, że gprof nie generuje danych profilowania dla takich procesów, które nie wychodzą(). Czy gcov również ma to ograniczenie. – goldenmean