GNU-Toolchain: Aufrufgraph?

Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

From: Christian Weisgerber (naddy_at_unix-ag.uni-kl.de)
Date: 25. Jan 2000


Kann ich bei der GNU-Toolchain (gcc & Co.) automatisch einen
Aufrufgraphen aller Funktionen, am besten mit Argumenten, erzeugen
lassen?

Ich hätte gerne, am Beispiel der Funktion foo(), sowas wie:

foo(int a, char *b)
{
   int c;

   fprintf(stderr, "foo(a=%d, b=%s)\n", a, b); /* <-- !!! */
   ...
   /* was auch immer foo() macht */
}

Nur für alle Funktionen und ohne, dass ich sowas explizit überall
in den Source einstreuen muss. Muss natürlich nicht nach stderr
gehen, kann auch in eine Logdatei, etc. Ich hätte nur gerne am Ende
ein Log, aus dem ich den Aufrufgraph der Funktionen ersehen kann.

Was mir bisher eingefallen ist:
- Programm unter gdb ausführen und an geeigneter Stelle anhalten und
  Stacktrace ausgeben. Das "an geeigneter Stelle anhalten" stellt sich
  dabei aber als großes Problem dar. Singlestepping ist auch nicht das
  Wahre.
- Profiling mit gprof. Damit kriege ich keinen richtigen Graphen sondern
  nur mehr oder minder flache Zusammenfassungen und keine Argumente.

-- 
Christian "naddy" Weisgerber                     naddy_at_unix-ag.uni-kl.de


Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET