Estou tentando executar dois comandos ao mesmo tempo no gdb:
finish; next
Eu tentei usar o ';' para separar os comandos, mas o gdb não me deixou fazer as duas coisas ao mesmo tempo.
É possível executar vários comandos no gdb semelhantes aos comandos bash separados por ';' delimitador?
execlp("gdb", "gdb", "-batch", "-n", "-ex", "bt full", ...
e não consigo desativar a paginação.show user <function name>
para ver sua fonte, por exemploshow user fn
.Se você estiver executando o gdb na linha de comando, poderá passar vários comandos com o parâmetro -ex como:
Isso, juntamente com a exibição e outros comandos, torna a execução do gdb menos complicada.
fonte
O GDB não possui esse caractere separador de comandos. Olhei brevemente, caso fosse fácil adicionar um, mas infelizmente não ....
fonte
Você pode fazer isso usando a integração python no
gdb
.Seria bom se
s ; bt
pisado e depois impresso um backtrace, mas não o faz.Você pode realizar a mesma coisa chamando o intérprete Python.
python import gdb ; print(gdb.execute("s")) ; print(gdb.execute("bt"))
É possível agrupar isso em um comando dedicado, aqui chamado "cmds", apoiado por uma definição de python.
Aqui está um exemplo
.gdbinit
estendido com uma função para executar vários comandos.exemplo de invocação:
fonte
Corri para outra maneira de executar vários comandos no GDB usando um documento do Bash HERE.
exemplo:
isso tem IMO de valor / usabilidade limitado porque o GDB é encerrado após a execução da lista de comandos.
fonte