GDB:无法设置控制终端

Ion*_*ons 5 terminal command-line gdb tty controlling

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

使用GDB tty命令,我收到警告,并且无法与程序进一步交互.

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

t1~$ tty
/dev/pts/9
t1~$
Run Code Online (Sandbox Code Playgroud)

在终端2中,我运行GDB并声明tty,然后启动程序

t2~$ gdb a_program
(gdb) tty /dev/pts/9
(gdb) run
Starting program: ...
Run Code Online (Sandbox Code Playgroud)

该程序包含一些像这样的I/O魔术:

printf("Give me some integer: ");
int r = scanf("%d", &i);
Run Code Online (Sandbox Code Playgroud)

在终端1中,在所需输出之前出现警告:

warning: GDB: Failed to set controlling terminal: Operation not permitted
Give me some integer:
Run Code Online (Sandbox Code Playgroud)

当我写整数并按Enter键时,光标不会在终端1中移动.在终端2 的Starting:行之后也没有任何内容,这意味着GDB没有进一步执行.

请建议我使用GDB来解决这个问题.

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