如何将文本文件中的参数传递给 运行 gdb 下的程序?
How do I pass the arguments from a text file to run a program under gdb?
我想像gdb下的命令那样使用函数
$ cat arg.txt | xargs ./binary
有什么办法可以做到吗?
当通过 xargs
调用 gdb 时,它的标准输入默认从 /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.
谢谢,我找到了一个简单的解决方案。
(gdb) run $( cat arg.txt )
也可以将命令的输出传递为参数。
(gdb) run $( ruby -e 'print( "text as arguments" )' )
我想像gdb下的命令那样使用函数
$ cat arg.txt | xargs ./binary
有什么办法可以做到吗?
当通过 xargs
调用 gdb 时,它的标准输入默认从 /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.
谢谢,我找到了一个简单的解决方案。
(gdb) run $( cat arg.txt )
也可以将命令的输出传递为参数。
(gdb) run $( ruby -e 'print( "text as arguments" )' )