1.问题相同代码相同的vscode launch.json gdb配置ubuntu22.04 gdb调试正常ubuntu24.04 终端提示warning: GDB: Failed to set controlling terminal: Operation not permitted\n2.解决方案方案1: 豆包/千问 大模型 给出方案launch.json{type:cppdbg,request:launch,name:调试C,program:${fileDirname}/${fileBasenameNoExtension},args:[],stopAtEntry:false,cwd:${fileDirname},environment:[],externalConsole:true,// 24.04 极易触发该gdb警告MIMode:gdb,setupCommands:[{description:Enable pretty-printing for gdb,text:-enable-pretty-printing,ignoreFailures:true}]}测试:问题依旧存在方案2: vscode vscode-cpptools github方案参考: https://github.com/microsoft/vscode-cpptools/issues/14458设置环境变量exportDEBUGINFOD_URLS问题原因:ubuntu24.04, ubuntu26.04版本默认安装 debuginfod-clientgdb 启动时会自动连接 debuginfod 服务器拉取调试符号;这个过程里 gdb 内部 fork/pty 交互逻辑改变触发 systemd 会话下控制终端权限报错。清空 DEBUGINFOD_URLS 让 gdb 不启动 debuginfod 后台线程避开该竞态 / 权限问题。实测:启动gdb命令, 回提示下载debuginfo解决方案:修改环境变量:export DEBUGINFOD_URLS备选方案: vscode 切换lldb调试略
ubuntu24.04_vscode调试c_c++错误: warning: GDB: Failed to set controlling terminal: Operation not permitt
1.问题相同代码相同的vscode launch.json gdb配置ubuntu22.04 gdb调试正常ubuntu24.04 终端提示warning: GDB: Failed to set controlling terminal: Operation not permitted\n2.解决方案方案1: 豆包/千问 大模型 给出方案launch.json{type:cppdbg,request:launch,name:调试C,program:${fileDirname}/${fileBasenameNoExtension},args:[],stopAtEntry:false,cwd:${fileDirname},environment:[],externalConsole:true,// 24.04 极易触发该gdb警告MIMode:gdb,setupCommands:[{description:Enable pretty-printing for gdb,text:-enable-pretty-printing,ignoreFailures:true}]}测试:问题依旧存在方案2: vscode vscode-cpptools github方案参考: https://github.com/microsoft/vscode-cpptools/issues/14458设置环境变量exportDEBUGINFOD_URLS问题原因:ubuntu24.04, ubuntu26.04版本默认安装 debuginfod-clientgdb 启动时会自动连接 debuginfod 服务器拉取调试符号;这个过程里 gdb 内部 fork/pty 交互逻辑改变触发 systemd 会话下控制终端权限报错。清空 DEBUGINFOD_URLS 让 gdb 不启动 debuginfod 后台线程避开该竞态 / 权限问题。实测:启动gdb命令, 回提示下载debuginfo解决方案:修改环境变量:export DEBUGINFOD_URLS备选方案: vscode 切换lldb调试略