
Я использую Code-Blocks IDE в Ubuntu 12.10. Но когда я пытаюсь отладить любой проект, я получаю следующее предупреждение:
warning: GDB: Failed to set controlling terminal: Operation not permitted
Что мне теперь делать ?
решение1
У меня была похожая проблема на Ubuntu 16.04 с использованием GDB 7.11 через XTerm. Чтобы решить ее, я просто изменил разрешения на локальный файл .gdbinit, выполнив команду , chmod +x /path/to/file/.gdbinit
которая решила проблему.
решение2
Установите или убедитесь, что на вашем ПК установлен терминал gnome
Перейдите в
gnome-terminal
. в разделе Настройки -> Среда -> Терминал для запуска, я использую это:gnome-terminal --disable-factory --hide-menubar -t $TITLE -x
Ошибка все равно будет возникать, но отладчик будет работать исправно.
решение3
У меня была та же проблема с Ubuntu 10.04, QTCreator 2.5.2 и gdb 7.1, поставляемыми с Ubuntu.
Я мог бы решить свои проблемы, обновив gdb до текущей версии 7.5 и используя ее вместо версии 7.1, установленной Ubuntu.
Вы можете скачать последнюю версию и скомпилировать ее самостоятельно:
- Проверьте наличие последней версии
gdb-*.tar.gz
файлаздесьи при необходимости адаптируйте приведенные ниже команды.
wget http://ftp.gnu.org/gnu/gdb/gdb-7.6.2.tar.gz
tar xvfz gdb-7.6.2.tar.gz
cd gdb-7.6.2
./configure
make
cp gdb/gdb /usr/local/bin
Обратите внимание, что /usr/local/bin
находится в начале переменной PATH, которую вы используете при запуске QtCreator.
Вы можете поместить следующую строку в свой файл .profile
:
export PATH=$PATH:/usr/local/bin
решение4
Была та же проблема при использовании отладки в kdevelop с моим кодом на C. Отключил опцию «Использовать внешний терминал» в разделе «Выполнить/Настроить запуски», и все заработало как часы.