¿Cómo puedo comunicarme con STDIN/STDOUT a través de una sesión de gdbserver?
remote-debugging (1)
¿Cómo puedo ejecutar la depuración remota a través de la línea serie, y también acceder a STDIN / STDOUT de la aplicación que estoy depurando sobre la misma línea serial?
Necesitará usar screen o tmux para multiplexar gdb<->gdbserver
y keyboard-> tráfico de aplicaciones en una sola línea serie.
Si comienzo una sesión ''gdb'' normal, entonces puedo comunicarme con STDIN
y ver STDOUT
directamente en la terminal:
$ 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
$
¿Puedo hacer lo mismo con un gdbserver?
Esto es lo que he intentado (gdbserver):
$ gdbserver /dev/ttyS0 wc
Process wc created; pid = 28156
Listening on port 2345
y cliente:
$ 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>
Pero, parece que STDIN
/ STDOUT
no se está conectando cuando se usa gdbserver.
¿Cómo puedo ejecutar la depuración remota a través de la línea serie, y también acceder a STDIN
/ STDOUT
de la aplicación que estoy depurando sobre la misma línea serial?