我正在尝试使用 gdb 调试我的 ncurses 应用程序。我使用tty命令将程序的 I/O 重定向到另一个终端。输出就像一个魅力,但我遇到了输入问题。我正在使用 getch() 函数来检索我的应用程序中的符号。因此,例如,如果我在我的 gdb 会话中这样做:
tty /dev/pts/5
我在终端窗口的另一个选项卡(gnome-terminal)中得到我的输出。我的 gdb 会话卡住了,等待输入,但是当我按下 /dev/pts/5 中的任何键时,我将其打印出来,但应用程序本身并没有将它作为输入符号。在没有 gdb 的情况下运行一切正常,我也在使用 noecho(),因此不应显示符号。所以有什么问题?是否有可能以某种方式处理来自重定向终端的输入?