Ich versuche gcov unter Linux (Ubuntu) zu verwenden, um die Häufigkeit der Ausführung für jede Zeile der Quelle zu sehen.gcov zeigt keine Coverage-Daten
Ich habe folgende Flags zu meinen gcc-Compiler und Linker-Flags hinzugefügt,
CCFLAGS = -fprofile-arcs -ftest-coverage
LDFLAGS = -fprofile-arcs -lgcov
aber nach dem Kompilieren und Ausführen des Programms, ich sehe keine * .gcda Datei erstellt. Als Folge davon, wenn ich laufen
gcov --object-directory <path to the *.gcno/*.gcda files> myfile.cpp
Fehler Shows:
myfile.gcda:cannot open data file, assuming not executed
File '../../../../../code/myfile.cpp'
Lines executed:0.00% of 2625
ich etwas fehle. Wie behebe ich das?
Hat das Programm läuft erfolgreich zum Abschluss atleast sein? –
Was bekommen Sie auch, wenn Sie 'strings compiled_prog | ausführen grep gcda'? –
@Shawn - Es ist ein Service/Daemon, der nicht zurückkehrt. Also im Wesentlichen muss ich die ausführbare Datei im Terminal CTRL-C, um es zu stoppen. Beeinflusst dies das Verhalten von gcov? Ich weiß, gprof generiert keine Profiling-Daten für solche Prozesse, die nicht verlassen(). Hat gcov diese Begrenzung auch? – goldenmean