如何通过gdbserver会话访问STDIN/STDOUT

如何通过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做同样的

如果我启动一个正常的“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做同样的事情吗

以下是我尝试过的(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>