gdb remote-debugging

¿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?