我打开了两个终端(在tmux内)。在第一个中,我输入:
$ tty
/dev/pts/4
在第二个
$ gdb brokenprogram
(gdb) tty /dev/pts/4
这成功地将正在调试的进程的输出重定向到第一个终端。但是,当我输入第一个终端时,bash
和brokenprogram
正在竞争读取输入。如何阻止bash听取任何进一步的按键?
答案 0 :(得分:1)
我认为运行sleep
以便shell无法访问tty的建议很好,但另一种方法是使用gdbserver
。
在/ dev / pts / 4上:
$ gdbserver localhost:12345 brokenprogram
Process brokenprogram created; pid = 9134
Listening on port 12345
在另一个终端:
$ gdb brokenprogram
(gdb) target remote localhost:12345
Remote debugging using localhost:12345
<gdb chatter that the process is stopped at _start()>
(gdb) continue
然后你可以在/ dev / pts / 4上与破解程序进行交互。