Hat Klocwork erkennen nie Funktionen aufgerufen?
Frage
mein Code ist ein älterer Code aus verschiedenen Stücken mischen.
Ich möchte alle nie benutzten Funktionen, um löschen Sie den Code einfach zu halten.
Is Klocwork das Werkzeug? Wie mache ich es?
Danke,
Moshe.
Lösung
Sie könnten die -p
oder -pg
Optionen gcc
zu Ursachencode verwenden, um auf den Prolog und Epilog jede Funktion hinzugefügt werden, so dass eine Profildatenbank geschrieben, wenn das Programm ausgeführt wird. Das Werkzeug prof
wird verwendet, um die Ausgabe von -p
und gprof
für -pg
zu analysieren. Diese Tools erzeugen Berichte, die zeigen, welche Funktionen verwendet wurden, wie viele Anrufe, und wie viel Zeit wurde in jeder verbracht. Nicht verwendete Funktionen werden von der Profildatenbank fehlen.
Sie können auch gcov
einen Bericht von welchen Linien bekommen von Code tatsächlich ausgeführt wurde. Funktionen nie werden 0 mal aufgerufen ausgeführt ....
Andere Tipps
Klocwork werden nicht verwendete Funktion / Methoden finden. Es gibt eine spezielle checker Pack Sie auf my.klocwork.com herunterladen können (wenn Sie ein Konto haben), dass Sie diese besondere Kontrolleure geben.
Ich bin nicht vertraut mit Klocwork, aber gcc
hat die Warnung Option -Wunused-function
dass erkennt die meisten ungerufen Funktionen. -Wunused-function
ist Teil -Wall
.
Klockwork tut ungerufen Funktionen erkennen. Sein für die statische Analyse verwendet nur.
Sie können es wie folgt überprüfen:
foo()
{
char *a;
a = malloc(100);
}
bar()
{
char a[100];
}
main()
{
bar();
}
Dies würde wahrscheinlich in der Funktion foo berichtet Leck, die tatsächlich nicht abgerufenen ist. Doch als Schot vorgeschlagen, dass Sie in Compiler-Optionen suchen.