Hallo, ich habe ein Schar von Programmen, die teilweise (und wiederholt) auf gemeinsame Unterprogramme und Funktionen zugreifen. Nun würde ich gerne einen (möglichst graphischen) Überblick darüber bekommen, welche Programme alle ein bestimmtes Unterprogramm aufrufen bzw. welche Funktionen von diesem Unterprogramm direkt oder auch mittelbar aufgerufen werden. Bildlich gesprochen möchte ich mir also eine Art "Stammbaum" für die verschiedenen Unterprogramme anzeigen lassen. Das Projekt ist bisher noch so überschaubar, dass ich die einzelnen Module in UML darstellen könnte, in der Art Programm_1(Sub_1, Sub_2, Funktion_1) Programm_2(Sub_2, Funktion_1) Sub_1() Sub_2(Funktion_2) Funktion_1() Funktion_2() Ein "Klick" auf Sub_2 sollte mir dann zeigen, dass Programm_1 & Programm_2 dieses Sub_2 aufrufen bzw. Funktion_2 davon aufgerufen wird. Aber eine UML-Software mit diesem Feature habe ich noch nicht gefunden. Hat hier jemand Erfahrung und kann mir weiterhelfen? Vielen Dank, dhh
Das entsprechende Stichwort heißt "call graph" bzw. "caller graph". Leider gibst Du nicht an, für welche Programmiersprachen das ganze verwendet werden soll. Für C/C++ kann man z.B. Doxygen verwenden. All diese Werkzeuge beherrschen im Allgemeinen nur die Erstellung der statischen Aufrufgraphen. Aufrufe über Funktionszeiger werden üblicherweise nicht dargestellt.
Vielen Dank schonmal für das Schlagwort. Das vorhandene Programm läuft in einer alten Taschenrechnerumgebung, Sprache TI-Basic. Aber wie gesagt, dafür würde ich es händisch analysieren. Ansonsten bin ich an Python, C & C++ interessiert.
Visual Studio zeichnet dir auch solche Dependency-Graphen. Siehe: http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-Understand-your-code-dependencies-through-visualization
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.