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

时间:2016-01-29 10:20:08

标签: gdb remote-debugging

如果我开始正常的“gdb”会话,那么我可以直接在终端中找到 for (var i = 0; i < items.length; i++) { setTimeout(function(i, name) { console.log(i + ". " + name); priceManagement.FindPrices(name); }, 3000*i, i, items[i]['name']); } 并查看STDIN

STDOUT

我可以使用gdbserver ???

这是我尝试过的(gdbserver):

$ 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 /dev/ttyS0 wc
Process wc created; pid = 28156
Listening on port 2345

但是,使用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> / STDIN

如何通过串行线运行远程调试,还可以访问我在同一串行线上调试的应用程序的STDOUT / STDIN

1 个答案:

答案 0 :(得分:0)

  

如何通过串行线运行远程调试,还可以访问我在同一串行线上调试的应用程序的STDIN / STDOUT?

您需要使用screentmux通过一条串行线路复用gdb<->gdbserver和键盘 - >应用流量。