我发现了一些关于此警告的问题,但都与IDE有关。这适用于纯终端GDB交互。
使用GDB tty命令,我收到警告,并且无法与程序进一步交互。
在终端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的 Starting:行之后也没有任何内容,这意味着GDB没有进一步执行。
请建议我使用GDB来解决这个问题。
Kubuntu 14.04 64位,GNU gdb(Ubuntu 7.7.1-0ubuntu5~14.04.2)7.7.1。