Ich verwende Boost-Test für Unit-Tests und GCOV und LCOV für die Messung der Abdeckung.
Leider generiert genhtml solche Berichte für die Funktionsabdeckung:
Ich möchte jetzt wissen, was die Funktion _ZN7UtilLib11ProgressBarC2EjdRSo
tatsächlich ist.
Bisher kann ich diese Funktion nicht mit der Klassenschnittstelle von ProgressBar korrelieren:
%Vor%Kann mir irgendjemand helfen, entweder bessere Funktionsnamen mit gcov zu bekommen oder wie versteht man diese Funktionsnamen?
Die Anwendung wird mit gcc4.7 mit den folgenden Flags kompiliert: -g -g -save-temps=obj -Wall -Wextra -Wno-unused-parameter -Wno-error=unused-parameter -O0 -pedantic
Dies sind verstümmelte C ++ - Symbole, verwenden Sie c++filt
in einer Shell, um es zu entmutigen:
Auch wenn Sie genhtml
zu verwenden scheinen, sollten Sie die Option --demangle-cpp
ausprobieren, um das Entmagnetisieren automatisch für Sie durchzuführen.
Beachten Sie, dass der Compiler zwei Implementierungen für den von Ihnen geschriebenen ctor ausgibt. Durch die Verwendung von --demangle-cpp
wird die Differenz verborgen, die nur im Namen des entstellten Symbols sichtbar ist. Um zu verstehen, was der Compiler macht, schauen Sie hier .
Verwenden Sie c++filt
, wie folgt:
welche Ausgaben:
%Vor%