Я хочу использовать функцию, подобную команде под gdb.Как передать аргументы из текстового файла для запуска программы под gdb?
$ cat arg.txt | xargs ./binary
Есть ли способ сделать это?
Я хочу использовать функцию, подобную команде под gdb.Как передать аргументы из текстового файла для запуска программы под gdb?
$ cat arg.txt | xargs ./binary
Есть ли способ сделать это?
Спасибо и я получил простое решение.
(gdb) run $(cat arg.txt)
Также можно передать вывод команды в качестве аргументов.
(gdb) run $(ruby -e 'print("text as arguments")')
Когда gdb вызывается через xargs
, он по умолчанию является stdin, перенаправляется с /dev/null
. Очевидно, что gdb требует stdin для чтения и выполнения ввода пользователем, но это невозможно, поскольку stdin равен /dev/null
.
Одним из способов решения этой проблемы является использование xargs
с --arg-file
:
xargs --arg-file arg.txt gdb --args ./binary
См man xargs:
-a file, --arg-file=file
Read items from file instead of standard input. If you use
this option, stdin remains unchanged when commands are run.
Otherwise, stdin is redirected from /dev/null.