我正在尝试调试GDB本身并处理从另一个终端发送的Ctrl + C信号问题。
我在TUI模式下运行GDB以在终端1 中进行调试。之后,我打开另一个终端2 ,找到在终端1 上运行的GDB的PID号。然后将该过程附加到调试。
在1号航站楼
$ build-gdb/gdb/gdb -tui ./build/output.elf -tty=$TTY
在2号航站楼
$ ps -elf | less
$ sudo gdb -p PID_NUMBER-tty=$TTY -tui
问题是当我按下Ctrl + C在终端1 中停止GDB时,GDB在终端2 上停止运行。 终端1 中的GDB根本不响应^ C命令。我尝试使用-tty参数并获取当前的TTY,但id没有解决问题。 GDB使用readline GNU库,但我应该正确配置终端及其输入。
有什么想法吗?