Command line GDB:无法设置控制终端

Command line GDB:无法设置控制终端,command-line,terminal,gdb,tty,controlling,Command Line,Terminal,Gdb,Tty,Controlling,我发现了一些关于此警告的问题,但都与IDE有关。这是纯终端GDB交互 使用gdbty命令,我得到警告,无法与程序进一步交互 在终端1中,我得到了GDB的TTY t1~$ tty /dev/pts/9 t1~$ 在终端2中,我运行GDB并声明tty,然后启动程序 t2~$ gdb a_program (gdb) tty /dev/pts/9 (gdb) run Starting program: ... 该程序包含一些I/O魔术,如下所示: printf("Give me some integ

我发现了一些关于此警告的问题,但都与IDE有关。这是纯终端GDB交互

使用gdbty命令,我得到警告,无法与程序进一步交互

在终端1中,我得到了GDB的TTY

t1~$ tty
/dev/pts/9
t1~$
在终端2中,我运行GDB并声明tty,然后启动程序

t2~$ gdb a_program
(gdb) tty /dev/pts/9
(gdb) run
Starting program: ...
该程序包含一些I/O魔术,如下所示:

printf("Give me some integer: ");
int r = scanf("%d", &i);
在端子1中,在所需输出之前出现警告:

warning: GDB: Failed to set controlling terminal: Operation not permitted
Give me some integer:
当我写入整数并按Enter键时,光标不会在端子1中移动。终端2中的start:行之后也没有显示任何内容,这意味着GDB没有进一步执行

请建议我一些解决办法,使tty与GDB一起工作


Kubuntu 14.04 64位,GNU gdb(Ubuntu 7.7.1-0ubuntu5~14.04.2)7.7.1。

刚刚发现了这个警告,并想补充一点,在我的例子中,这个警告仍然在gcc 8.8.1中产生,但无论如何程序输出都被正确重定向。