如何通过gdbserver会话访问STDIN/STDOUT
如果我启动一个正常的“gdb”会话,那么我可以直接在终端中访问如何通过gdbserver会话访问STDIN/STDOUT,gdb,remote-debugging,Gdb,Remote Debugging,如果我启动一个正常的“gdb”会话,那么我可以直接在终端中访问STDIN并查看STDOUT: $ gdb wc GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1 ... gdb> run Starting program: /usr/bin/wc asdf 1 1 5 [Inferior 1 (process 28131) exited normally] gdb> quit $ 我可以用gdbserver做同样的
STDIN
并查看STDOUT
:
$ gdb wc
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
...
gdb> run
Starting program: /usr/bin/wc
asdf
1 1 5
[Inferior 1 (process 28131) exited normally]
gdb> quit
$
我可以用gdbserver做同样的事情吗
以下是我尝试过的(gdbserver):
客户:
$ gdb
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
...
gdb> c
Continuing.
Program received signal SIGINT, Interrupt.
0x00007ffff7ddbc40 in _start () from target:/lib64/ld-linux-x86-64.so.2
gdb>
但是,在使用gdbserver时,STDIN
/STDOUT
似乎没有连接
如何在串行线上运行远程调试,以及如何访问正在通过同一串行线上调试的应用程序的STDIN
/STDOUT
如何在串行线上运行远程调试,以及如何访问正在通过同一串行线上调试的应用程序的STDIN/STDOUT
您需要通过单个串行线路使用或多路复用gdbgdbserver
和键盘->应用程序通信。功能请求:
$ gdb
GNU gdb (Gentoo 7.10.1 vanilla) 7.10.1
...
gdb> c
Continuing.
Program received signal SIGINT, Interrupt.
0x00007ffff7ddbc40 in _start () from target:/lib64/ld-linux-x86-64.so.2
gdb>