Estoy tratando de ejecutar dos comandos a la vez en gdb:
finish; next
Intenté usar el ';' para separar los comandos pero gdb no me dejó hacer ambos a la vez.
¿Es posible hacer múltiples comandos en gdb similares a los comandos bash separados por ';' delimitador?
execlp("gdb", "gdb", "-batch", "-n", "-ex", "bt full", ...
y no puedo apagar la paginación.show user <function name>
para ver su fuente, por ejemploshow user fn
.Si está ejecutando gdb desde la línea de comandos, puede pasar varios comandos con el parámetro -ex como:
Esto, junto con la pantalla y otros comandos, hace que ejecutar gdb sea menos engorroso.
fuente
GDB no tiene dicho carácter separador de comandos. Miré brevemente, en caso de que fuera fácil agregar uno, pero desafortunadamente no ...
fuente
Puede hacerlo utilizando la integración de Python en
gdb
.Sería bueno si
s ; bt
pisas y luego imprimes una traza inversa, pero no lo hace.Puede lograr lo mismo llamando al intérprete de Python.
python import gdb ; print(gdb.execute("s")) ; print(gdb.execute("bt"))
Es posible resumir esto en un comando dedicado, aquí llamado "cmds", respaldado por una definición de Python.
Aquí hay un ejemplo
.gdbinit
extendido con una función para ejecutar múltiples comandos.invocación de ejemplo:
fuente
Me encontré con otra forma de hacer múltiples comandos en GDB usando un documento Bash AQUÍ.
ejemplo:
esto tiene un valor limitado / usabilidad IMO porque GDB se cierra después de ejecutar la lista de comandos.
fuente