Tool zum Aufspüren von totem Code



  • Salut,

    kennt jemand ein Freeware-Tool, das mir dabei helfen könnte in einem 3.3MB C/C++ Projekt toten Code in Form von nicht benutzten Funktionen/Methoden zu finden?

    thanx, Arne



  • coveragemeter beispielsweise, ist aber eigentlich shareware..
    ansonsten ist der begriff code coverage das, was du im großen g brauchst..



  • gibt der Compiler da nicht gleich eine Warnmeldung aus, dass die Funktion blablabla oder irgendeine Variable nicht verwendet wird? Ist bei meinen Borland C++ Builder jedenfalls so.

    MfG borgolte



  • Bei Variablen ja, bei Methoden / Funktionen denke ich nein. Wird ja alles als Unit übersetzt und der Compiler hat keine Ahnung ob der Linker später die Methode benötigt.



  • ja, vom Linker kommen dann meine ich auch noch mal wegen den Funktionen Warnmeldungen. Ich weiß es aber nicht so genau, und um das jetzt zu testen bin ich zu müde 😃

    MfG borgolte



  • Vielen Dank Leute 🙂

    Dann schaue ich mir mal coveragemeter und gcov an.

    gibt der Compiler da nicht gleich eine Warnmeldung aus, dass die Funktion blablabla oder irgendeine Variable nicht verwendet wird?

    Bei static Variablen und Funktionen gibt mir gcc auch eine Warning, wenn die Variable/Funktion nicht benutzt wird - denn static bedeutet ja, dass der Scope auf die aktuelle Übersetzungseinheit (Source-File) beschränkt ist. Da kann der Compiler das schon erkennen. Sowie ich aber extern benutze, kann es der Compiler nicht mehr erkennen, der Linker meldet leider aber auch nix.
    Aber nochmal vielen Dank für die Hinweise - mache mich sofort auf die Suche.

    bye, Arne



  • Bedenke aber: Jeglichen toten Code zu finden ist unmöglich.



  • Es wäre aber schon ziemlich gräßlich, wenn alle nicht verwendeten extern Funktionen Warnungen hervorriefen. Tausende Funktionen in der WinAPI, von denen man nicht mal was gehört hat, würden einem da um die Ohren fliegen 😉
    Ist auch bei allen anderen APIs/Librarys so.

    Gruß
    Don06



  • toter code tut ja auch nicht weh, macht höchstens wartung eklig.



  • thordk schrieb:

    toter code tut ja auch nicht weh (...)

    Nicht, wenn Du nur 4MB RAM hast - bin auf einem embedded System unterwegs, das mit 4MB schon großzügig dimensioniert ist.

    (...)macht höchstens wartung eklig

    Das trifft wohl immer zu 😉

    CoverageMeter ist für meinen Zweck (embedded System) wohl nicht einsetzbar 😞
    Dito gcov, da es beim Ablauf ja eine Datei erstellen will - und ohne Filesystem ist das kompliziert.
    Mir reicht es ja schon Funktionen/Methoden zu finden, die nie aufgerufen werden. Toter Code innerhalb der Funktionen ist erstmal nebensächlich.


Anmelden zum Antworten