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.
Sie können KCachegrind zum Generieren und Analysieren von Aufrufdiagrammen basierend auf verwenden Daten, die von Valgrinds Callgrind-Tool generiert wurden.
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.
Tags und Links c c++ call-graph