Dynamisches Aufrufdiagramm von c / c ++ - Programmen im Lauf erzeugen

8

Wenn man den Ablauf eines Programms visualisieren würde, würde man vermutlich damit beginnen, die Aufrufgraphen des Programms zu bekommen.

Aber wie würden Sie das Aufrufdiagramm von c / c ++ Programmen während des Laufs bekommen?

edit : Klarstellungen, ich führe gerade Dinge auf Linux mit g ++, aber ich bin auch neugierig auf Lösungen, wenn ich eine andere Plattform verwende.

    
kamziro 16.08.2011, 11:39
quelle

3 Antworten

5

Ich habe etrace verwendet, um die Ausführung von Programmen zu verfolgen.

Ägypten tut das gleiche, hat aber nur eine begrenzte Unterstützung für C ++.

Beide erfordern, dass das Programm mit gcc instrumentiert wird.

    
philant 16.08.2011, 12:57
quelle
4

Sie können KCachegrind zum Generieren und Analysieren von Aufrufdiagrammen basierend auf verwenden Daten, die von Valgrinds Callgrind-Tool generiert wurden.

    
Alok Save 16.08.2011 12:14
quelle
1

Der Fehlerprüfer von SofwareVerify (kostenlose öffentliche Beta verfügbar) tut Dies.

Auszug von der Homepage:

  

C ++ Bug Validator bietet eine automatische Ausführungsprotokollierung von Anwendungen während der Ausführung. Es gibt keine Neukompilierung oder Neuverknüpfung Ihrer Anwendung . C ++ Bug Validator arbeitet mit Debug-Informationen und / oder MAP-Dateien. Mit dem C ++ Bug Validator können Sie die Ausführungsprotokollierung Ihrer gesamten Anwendung oder nur der benötigten DLLs durchführen.

(Markup von mir).

Ich weiß nicht wie sie es tun, aber offensichtlich ist es möglich.

    
eckes 16.08.2011 12:00
quelle

Tags und Links