Mit clang und graphviz kann ich den aufrufenden Graphen für einige C/C++ Code as explained in this answer generieren.Wie erzeuge ich ein Datenflussdiagramm mit Clang oder anderen Tools?
Jetzt brauche ich ein Datenflussdiagramm, das auf einer wirklich großen Codebasis berechnet wurde (es ist meistens C), diese Codebasis ist eine Software, in der cmake
als Bauwerkzeug verwendet wird.
Also ist mein Problem, angesichts des Namens einer Datenstruktur, wie ich möglicherweise die Namen der Funktionen und der Dateien abrufen kann, die diese Struktur verwenden/implementieren?
Es gibt einigen spärlichen Bezug auf einige Datenfluss-Mining-Algorithmen innerhalb Libtool
vom Klirren Projekt (nicht einmal sicher, ob es etwas stabile oder in Entwicklung ist), aber ich fand nichts clang
selbst oder scan-build
.
Wie kann ich diese Information erzeugen? Ich brauche nur genau das. Angesichts eines Namens, den ich abrufen möchte, wo im Code verwendet wird, konzentrieren sich alle statischen Analysewerkzeuge, die ich überprüfte, auf Funktionen und Methoden. Ich muss eine Datenstruktur in clang
überprüfen.
EDIT:
Ich erwäge auch doxygen zur Dokumentation verwendet wird, so dass, wenn die XML-Ausgabe von doxygen für einiges Werkzeug nützlich sein könnte, kann ich es verwenden.
Das könnte ein bisschen verrückt sein, aber haben Sie darüber nachgedacht, die gesamte Codebasis in Eclipse zu laden und dann die Suchfunktionen von Eclipse zu verwenden? – slugonamission
@slugonamission gut, da ich nichts finden kann, was funktioniert ...; Benenne, welche Tools ich mit Eclipse verwenden soll, ich weiß, dass CDT die Eclipse-Suite für C und C++ ist, aber ich weiß nicht, was für diese Art von Analyse verwendet wird. – algl
es ist nicht wirklich für den Datenfluss, aber Ihre Anforderungen scheinen nur zu sein, um zu überprüfen, wo eine Datenstruktur verwendet wird. Mit CDT + Eclipse können Sie zumindest graphisch herausfinden, wo eine Datenstruktur verwendet wird (irgendwo in einem der Suchmenüs), aber nicht eine vollständige DFG. – slugonamission