Die Idee ist, dass bei einer bestimmten Eingabe für das Programm, irgendwie möchte ich automatisch durch das komplette Programm Schritt und seinen Kontrollfluss zusammen mit allen Daten wie verwendet werden Klassen und ihre Variablen. Ist das ein einfacher Weg, dies zu tun? Oder kann dies durch ein Scripting über gdb erfolgen oder muss es in gdb geändert werden?Drucken Sie den gesamten Kontrollfluss durch gdb einschließlich der Werte der Variablen
Ok der Grund für diese Frage ist wegen einer Idee in Bezug auf ein Debugging-Tool. Was es macht ist das. Wenn einem Programm zwei verschiedene Eingaben zugewiesen werden, von denen eine eine falsche Ausgabe und die andere eine falsche Ausgabe verursacht, wird angezeigt, welcher Teil des Steuerungsflusses für sie unterschiedlich ist.
Also was ich denke, wird benötigt werden, ist eine komplette Dump dieser 2 Kontrollflüsse in eine Diff-Engine gehen. Und wenn die beiden Eingaben ähnlichen Kontrollflüssen folgen, dann würde ihr Unterschied (in vielen Fällen) eine gute Vorstellung davon geben, warum der Fehler existiert.
Dies kann zu einem sehr ansprechenden Werkzeug mit vielen Funktionen gemacht werden.
Warum möchten Sie das tun? Statische Analysewerkzeuge wie Valgrind/Coverity sind möglicherweise besser auf Ihre Bedürfnisse abgestimmt. –
Nur Quellzeilen: http://stackoverflow.com/questions/764382/automate-tracing-in-gdb, Aufrufe von Funktionen: http://stackoverflow.com/questions/311948/make-gdb-print-control-flow- von Funktionen, wie sie heißen? lq = 1 –