J'essaye d'exécuter deux commandes à la fois dans gdb:
finish; next
J'ai essayé d'utiliser le ';' pour séparer les commandes mais gdb ne m'a pas laissé faire les deux à la fois.
Est-il possible de faire plusieurs commandes dans gdb similaires aux commandes bash séparées par ';' délimiteur?
execlp("gdb", "gdb", "-batch", "-n", "-ex", "bt full", ...
et je ne peux pas désactiver la pagination.show user <function name>
pour voir sa source, par exempleshow user fn
.Si vous exécutez gdb à partir de la ligne de commande, vous pouvez passer plusieurs commandes avec le paramètre -ex comme:
Ceci, associé à l'affichage et à d'autres commandes, rend l'exécution de gdb moins lourde.
la source
GDB n'a pas de caractère séparateur de commande. J'ai regardé brièvement, au cas où il serait facile d'en ajouter un, mais malheureusement non ...
la source
Vous pouvez le faire en utilisant l'intégration python dans
gdb
.Ce serait bien de faire un
s ; bt
pas et d'imprimer une trace arrière, mais ce n'est pas le cas.Vous pouvez accomplir la même chose en appelant l'interpréteur Python.
python import gdb ; print(gdb.execute("s")) ; print(gdb.execute("bt"))
Il est possible d'envelopper cela dans une commande dédiée, ici appelée "cmds", soutenue par une définition python.
Voici un exemple
.gdbinit
étendu avec une fonction pour exécuter plusieurs commandes.exemple d'invocation:
la source
J'ai rencontré une autre façon de faire plusieurs commandes dans GDB en utilisant un document Bash HERE.
exemple:
cela a une valeur / utilisabilité limitée IMO car GDB se ferme après l'exécution de la liste des commandes.
la source