Forum: Compiler & IDEs Dependency viewer?


von Moritz E. (devmo)


Lesenswert?

Hallo,

Ich suche nach einer Lösung, den Code bestehender open source Projekte 
hinsichtlich ihrer Dependencys grafisch darstellbar und "browsebar" zu 
machen. Das was ein Include Browser macht, nur besser und grafisch.

Es soll helfen beim Verständnis des Aufbaus von source code trees, eine 
einfache Tree-Ansicht ist alles andere als hilfreich.

Weiterhin müsste die Graph/Dependency-Darstellung konfigurierbar sein, 
mit Filtern, und nicht nur auf includes beschränkt, sondern auf die 
Verwendung von Variablen, Funktionsaufrufen, Defines.

Schließlich wäre es wohl optimal, wenn es irgendwie das Compile-Ergebnis 
auswertet, um Abhängigkeiten die beim Linken erst auftauchen mit 
einzubeziehen.

Gibt es dazu verbreitete/ausgereifte Lösungen? Optimal wäre natürlich 
ein Plugin für Eclipse oder Visual Studio. Und es soll C/C++ 
unterstützen. Kann auch kommerziell sein.

Hauptsächlich bräuchte ich so etwas zum portieren von Arm oder 
Linux(x86) Code auf AVR32

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Vielleicht hilft Dia zum Zeichnen in Verbindung mit einem 
Source2UML-Convertertool / CASE-Tool wie Umbrello oder ArgoUML oder 
bouml ... zum Parsen / Reverse Engineering des Sourcecodes...

http://freshmeat.net/search/?q=UML&section=projects&Go.x=0&Go.y=0
http://www.wot.at/SE03/text15.html

von Moritz E. (devmo)


Lesenswert?

Wenn das gut umgesetzt ist wäre ein source to UML converter tatsächlich 
sehr hilfreich. Ich wundere mich nur das man nicht über ausgereifte open 
source oder kommerzielle Lösungen stößt, die sich auf den 
reverse-engineering aspekt fokussieren, gerade im open source bereich wo 
man fremden code patchen will oder einbauen will ist man doch ohne sowas 
aufgeschmissen?

von Moritz E. (devmo)


Lesenswert?

Stefan B. wrote:
> Vielleicht hilft Dia zum Zeichnen in Verbindung mit einem
> Source2UML-Convertertool / CASE-Tool wie Umbrello oder ArgoUML oder
> bouml ... zum Parsen / Reverse Engineering des Sourcecodes...
>
> http://freshmeat.net/search/?q=UML&section=projects&Go.x=0&Go.y=0
> http://www.wot.at/SE03/text15.html

Also ArgoUml/Poseidon Embedded habe ich versucht, C code generieren 
können sie zwar, aber nicht importieren (bei ArgoUml gibts wohl nur C#)

Für Java gibts solche Software wie Sand am Meer, aber nicht mal für C++.

Als nächstes versuche ich wohl Rational und MagicDraw

Danke für die Links!

von egal (Gast)


Lesenswert?

Hier ist eine Link-Liste zu verschiedenen tools:
http://www.lemis.com/grog/software/source-code-navigation.html

Selber verwendet habe ich cscope / kscope. Mit kscope kann man sich 
call/caller-Graphen anzeigen lassen.

Regelmäßig verwende ich das tool global. Dieses wandelt den gesamten 
Quelltext in html um. Damit kann man Funktionsaufrufe verfolgen,
einen call/caller-Graph gibt's aber nicht.

von Moritz E. (devmo)


Lesenswert?

Ich habe ein Tool gefunden das ziemlich gut aussieht, Imagix 4D, leider 
aber wohl kaum bezahlbar.. Aber es ist genau auf C und legacy code bzw 
reverse engineering ausgerichtet.

Ich guck mir mal cscope an, davon hab ich öfter gelesen, wird es häufig 
benutzt?

So eine Übersicht wäre toll, wenn jemand noch eine kennt die halbwegs 
aktuell ist. 4 Jahre sind in der Softwarebranche ja schon 
Generationen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.