GDB: не удалось установить управляющий терминал
Я нашел несколько вопросов об этом предупреждении, но все они связаны с IDE. Это для чистого терминального взаимодействия GDB.
Используя команду GDB tty, я получаю предупреждение и дальнейшее взаимодействие с программой невозможно.
В терминале 1 я получаю его TTY для GDB
t1~$ tty
/dev/pts/9
t1~$
В терминале 2 я запускаю GDB и объявляю tty, затем запускаю программу
t2~$ gdb a_program
(gdb) tty /dev/pts/9
(gdb) run
Starting program: ...
Программа содержит магию ввода / вывода, например:
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. Кроме того, ничего не появляется после строки Starting: в терминале 2, что означает, что GDB не пошел дальше с выполнением.
Пожалуйста, предложите мне обходной путь, чтобы заставить tty работать с GDB.
64-разрядная версия Kubuntu 14.04, GNU GDB (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 .