unbenutzte Variablen finden und löschen
-
hallo zusammen,
ich habe bereits die Suche bemüht und auch bei google versucht was zu finden, aber leider nix passendes für c++ gefunden.
Mein Problem ist, dass mein Projekt mittlerweile mehrere tausend! Zeilen Code enthält und auf mehrere .cpp files verteilt ist. Somit habe ich auch eine gewisse Anzahl an globalen Variablen.
Leider habe ich etwas die Übersicht verloren, welche Variablen benutzt werden, bzw unbenutzt sind.
Habe zwar zu allen globalen Variablen einen Kommentar eingefügt, änder aber leider nichts an der Situation.
Kennt Ihr ein Tool, mit dem man unbenutzte Variablen usw lokalisieren kann?
Vielen Dank für Eure Hilfe
Viele Grüße
Edwart
-
Edwart schrieb:
Mein Problem ist, dass mein Projekt mittlerweile mehrere tausend! Zeilen Code enthält und auf mehrere .cpp files verteilt ist. Somit habe ich auch eine gewisse Anzahl an globalen Variablen.
Der Zusammenhang zwischen Projektgröße und Anzahl globaler Variablen erschliesst sich mir nicht. Auch ein Projekt mit 10000 Zeilen kommt ohne eine einzige globale Variable aus.
Wenn Du den Überblick über die globalen Variablen verloren hast, bedeutet das nur "Designfehler Designfehler Designfehler". Folgerichtig gibt's dafür auch kein Tool um sowas zu beheben, Du mußt an Deinem Programmierstil arbeiten und ohne globale Variablen auskommen.
-
Edwart schrieb:
Leider habe ich etwas die Übersicht verloren, welche Variablen benutzt werden, bzw unbenutzt sind.
Kennt Ihr ein Tool, mit dem man unbenutzte Variablen usw lokalisieren kann?es gibt massenweise tools zur statischen codeanalyse aber um solche variablen zu finden machste einfach ein 'find in files', grep, o.ä.
-
Du hast vollkommen recht, dass es sich um Designfehler handelt.
Dies ist mein erstes größeres C++ Projekt. Habe vorher nur MINI-MINI-Programme erstellt.Bin auch mit den Vorgaben, die ich mir selbst überlegt und Programmiert habe nicht mehr zufrieden. Aber ein Abändern im laufenden Projekt ist natürlcih extrem aufwändig.
(Beispielt: interne Events werden in einem Event-Handler abgearbeitet. Da fehlen einfach Parameter)
Naja gut, werde wohl die globalen Vars. selbst suchen müssen
Vielen Dank
Viele Grüße
Edwart
-
Naja, die Idee mit grep kannst Du natürlich schon verwenden.
Oder alternativ benutze den Compiler selbst, d.h. kommentiere die globalen Variablen stückweise aus und schau einfach, ob ein Compilerfehler kommt.
Außerdem haben einige IDEs (z.B. Visualstudio) eine Crossreferenz für die Variablen, da siehst Du auch ob diese woanders verwendet werden.
Alternativ kannst Du suchen, ob Du ein freies Tools für Crossreferences unter C++ findest, aber da habe ich so meine Zweifel... (zumindest für Win).
-
Vielleicht kann Valgrind sowas...
-
Warnt nicht jeder gute Compiler wenn eine Variable nicht benutzt wird? Schraub mal dein Warning Level hoch
-
warnung schrieb:
Warnt nicht jeder gute Compiler wenn eine Variable nicht benutzt wird? Schraub mal dein Warning Level hoch
lokale kann der compiler bewarnen, und das tut er auch.
aber globale könnte nur der linker finden, und der warnt da nicht.
-
Das hört sich nach einer Anwendung für ein Code Coverage Tool an.