9 Stimmen

Erzeugung eines dynamischen Aufrufdiagramms von C/C++-Programmen während der Ausführung

Wenn man den Ablauf eines Programms visualisieren wollte, würde man wohl damit beginnen, die Aufrufdiagramme des Programms zu erhalten.

Aber wie kann man den Aufrufgraphen von C/C++-Programmen während der Ausführung erhalten?

bearbeiten : Klarstellungen, ich bin derzeit läuft Dinge auf Linux, mit g++, aber ich nehme an, ich bin auch neugierig auf Lösungen, wenn ich eine andere Plattform verwenden.

6voto

philant Punkte 32877

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

Ägypten tut das Gleiche, unterstützt aber nur begrenzt C++.

In beiden Fällen muss das Programm mit gcc instrumentiert werden.

4voto

Alok Save Punkte 196241

Sie können verwenden KCachegrind zur Erstellung und Analyse von Anrufdiagrammen auf der Grundlage von Daten, die von Walgrinds callgrind Werkzeug.

1voto

eckes Punkte 59894

En Fehler-Validator von SofwareVerify (kostenlose öffentliche Beta-Version verfügbar) tut dies.

Auszug aus der Homepage:

C++ Bug Validator bietet eine automatische Protokollierung der Ausführungshistorie von Anwendungen, während diese laufen. Es gibt keine Notwendigkeit, Ihre Anwendung neu zu kompilieren oder neu zu verlinken . C++ Bug Validator arbeitet mit Debug-Informationen und/oder MAP-Dateien. Mit C++ Bug Validator können Sie die Protokollierung der Ausführungshistorie für Ihre gesamte Anwendung oder nur für die gewünschten DLLs durchführen.

(Markup von mir).

Ich weiß es nicht. comment Sie tun es nicht, aber es ist natürlich möglich.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X