Как загрузить программу чтения stdin и принимая параметры в gdb?
у меня есть программа, которая принимает ввод от stdin а также принимает некоторые параметры из командной строки. Выглядит это так:
cat input.txt > myprogram -path "/home/user/work"
Я пытаюсь отладить код с gdb внутри emacs, по M-x gdb, я пытаюсь загрузите программу с помощью команды:
gdb cat input.txt > myprogram -path "/home/user/work"
однако gdb это не нравится.
вопрос шпаргалка от здесь.
К сожалению, я не понимаю решение и не уверен, что делать дальше компиляция с помощью -g
опция и запуск команды M-x gdb.
4 ответа:
Если бы вы делали это из оболочки, вы бы сделали это так:
% gdb myprogram gdb> run params ... < input.txt
это, кажется, работает в emacs тоже.
есть несколько способов сделать это:
$ gdb myprogram (gdb) r -path /home/user/work < input.txt
или
$ gdb myprogram (gdb) set args -path /home/user/work < input.txt (gdb) r
или
$ gdb -ex 'set args -path /home/user/work < input.txt' myprogram (gdb) r
где gdb (
r
) использует по умолчанию аргументы, заданные ранее с помощьюset args
.