Ich versuche, zwei Befehle gleichzeitig in gdb auszuführen:
finish; next
Ich habe versucht, das ';' um die befehle zu trennen, aber gdb ließ mich nicht beides gleichzeitig machen.
Ist es möglich, mehrere Befehle in gdb auszuführen, ähnlich den durch ';' getrennten Bash-Befehlen? Trennzeichen?
execlp("gdb", "gdb", "-batch", "-n", "-ex", "bt full", ...
und ich kann die Paginierung nicht deaktivieren.show user <function name>
deren Quelle anzeigen, zshow user fn
.Wenn Sie gdb über die Befehlszeile ausführen, können Sie mehrere Befehle mit dem Parameter -ex übergeben, z.
Dies in Verbindung mit Anzeige- und anderen Befehlen macht das Ausführen von gdb weniger umständlich.
quelle
GDB hat kein solches Befehlstrennzeichen. Ich habe kurz nachgesehen, falls es einfach sein sollte, einen hinzuzufügen, aber leider nein ....
quelle
Sie können dies mithilfe der Python-Integration in tun
gdb
.Es wäre schön, wenn man
s ; bt
einen Schritt zurücktreten und dann drucken würde, aber das tut es nicht.Sie können dasselbe erreichen, indem Sie den Python-Interpreter aufrufen.
python import gdb ; print(gdb.execute("s")) ; print(gdb.execute("bt"))
Es ist möglich, dies in einen dedizierten Befehl zu packen, der hier "cmds" genannt wird und von einer Python-Definition unterstützt wird.
Hier ist ein Beispiel, das
.gdbinit
um eine Funktion zum Ausführen mehrerer Befehle erweitert wurde.Beispielaufruf:
quelle
Ich bin auf eine andere Möglichkeit gestoßen, mehrere Befehle in GDB mithilfe eines Bash HERE-Dokuments auszuführen.
Beispiel:
Dies hat eine begrenzte Wert- / Benutzerfreundlichkeit IMO, da GDB nach Ausführung der Befehlsliste beendet wird.
quelle