我有一个程序,我正在尝试使用gdb进行调试.在程序内部,我有方法要求用户使用stdin输入输入.当我在gdb中时,如何输入此输入?这样我就可以追踪我的方法是如何工作的?
mat*_*att 29
$ cat >foo <<EOF
something
EOF
$ gdb -quiet /bin/cat
Reading symbols from /bin/cat...(no debugging symbols found)...done.
Missing separate debuginfos, use: debuginfo-install coreutils-8.12-7.fc16.x86_64
(gdb) run <foo
Starting program: /bin/cat <foo
something
[Inferior 1 (process 22436) exited normally]
(gdb)
Run Code Online (Sandbox Code Playgroud)
您也可以先运行您的程序,然后将 GDB 附加到它:
gdb --pid $(pgrep your_program)
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您将能够在单独的终端中以交互方式运行您的程序。