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 .

0 ответов

Другие вопросы по тегам