首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Code::Blocks GDB 調試報錯:Failed to set controlling terminal 解決

     編輯:程式設計疑難解答

錯誤訊息


warning: GDB: Failed to set controlling terminal: Operation not permitted

斷點不生效、無法調試。

原因:終端機權限/配置問題

  • Linux 下 Code::Blocks 預設終端機 gnome-terminal -t $TITLE -x 可能缺少權限啟動控制終端。
  • GDB 需要一個真實的 TTY 來進行交互式調試。

解決方案

方案一:更換終端機啟動命令(最常用)

  1. Settings → Debugger → Default 分頁。
  2. Terminal to launch console programs 改為:

xterm -T $TITLE -e
// 或
konsole --title $TITLE -e
// 或
xfce4-terminal -T $TITLE -x

視桌面環境安裝對應終端機(sudo apt install xterm 等)。

方案二:勾選「在單獨終端機執行」

  • Project → Properties → Build targets → Debug 勾選 Pause when execution ends。
  • 或 Settings → Environment → General → Terminal to launch console programs 留空,讓 CB 直接在內建日誌視窗運行(無法互動輸入)。

方案三:GDB 權限修復(針對 Ubuntu 18.04+ / 內核 4.15+)


echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
// 永久生效編輯 /etc/sysctl.d/10-ptrace.conf
kernel.yama.ptrace_scope = 0
sudo sysctl -p

方案四:升級 Code::Blocks / 使用 VS Code + CMake + GDB

Code::Blocks 13.12 較舊,建議遷移至現代 IDE(VS Code、CLion、Qt Creator)獲得更穩定的調試體驗。

參考鏈接

CSDN 詳細排查步驟

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved