我正在尝试使用gdb调试我的ncurses应用程序。 我使用tty命令将程序的输入/输出重定向到另一个终端。 输出正常,但是输入方面出现了问题。 我在我的应用程序中使用getch()函数来获取符号。 因此,例如,如果我在gdb会话中执行以下操作:
tty /dev/pts/5
我在另一个终端窗口(gnome-terminal)中获得输出。我的gdb会话被卡住了,等待输入,但是当我在我的/dev/pts/5内按任意键时,它会打印出来,但应用程序本身不接受它作为输入符号。在没有gdb的情况下运行一切正常,我还使用了noecho(),因此不应显示符号。
那么问题是什么?是否可能以某种方式处理来自重定向终端的输入?