Eu tenho um programa que recebe entrada de stdin e também alguns parâmetros da linha de comando. Se parece com isso:
cat input.txt > myprogram -path "/home/user/work"
Tento depurar o código com gdb dentro do emacs, pelo Mx gdb, tento carregar o programa com o comando:
gdb cat input.txt > myprogram -path "/home/user/work"
No entanto, gdb não gosta disso.
Pergunta resumida a partir daqui . Infelizmente não entendo a solução e não tenho certeza do que fazer além de compilar com a -g
opção e executar o comando Mx gdb.
emacs
gdb
redirect
command-line-arguments
vinc456
fonte
fonte
<
einput.txt
comoargv
argumentos para meu programa :( Vou continuar pesquisando essas respostas com meu gdb 8.2.1: stackoverflow.com/questions/3544325/…Há várias maneiras de o fazer:
ou
ou
onde o
run
comando gdb (r
) usa por padrão os argumentos definidos anteriormente comset args
.fonte
gdb -ex 'r -path /home/user/work < input.txt' myprogram
na terceira variante?gdb -ex 'b main' -ex 'r -path /home/user/work < input.txt' myprogram
.Para fins de integridade, ao iniciar uma sessão de depuração, há também a opção --args. ie)
fonte
gdb --args yourprog.out input.txt
E se você não precisa depurar desde o início, você também pode anexar a um processo já em execução usando:
onde xxx é o id do processo. Então você não precisa informar ao gdb os argumentos iniciais.
fonte