VSCode远程SSH调试报错:配置的debug类型'cppdbg'不支持
解决CMake Tools远程调试报错“Configured debug type 'cppdbg' is not supported”
问题现象
已安装CMake Tools扩展,可正常构建、启动程序,但调试时弹出错误:Configured debug type 'cppdbg' is not supported。日志显示lldb-mi命令不存在(退出码127),自动检测GDB后仍触发错误,且修改launch.json无效,其他调试扩展无法触发CMake构建。
解决方案
1. 确认远程主机GDB安装状态
在远程终端执行以下命令,验证GDB是否正常可用:
gdb --version
若未安装,根据系统包管理器安装:
- Debian/Ubuntu:
sudo apt install gdb - RHEL/CentOS:
sudo dnf install gdb
2. 强制CMake Tools使用指定调试器
在.vscode/settings.json中添加配置,明确指定调试器路径,避免自动检测出错:
用GDB调试
{ "cmake.debugConfig": { "type": "cppdbg", "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb" } }
用LLDB调试(可选)
先安装lldb-mi:
sudo apt install lldb-mi
再修改配置:
{ "cmake.debugConfig": { "type": "cppdbg", "MIMode": "lldb", "miDebuggerPath": "/usr/bin/lldb-mi" } }
3. 修正launch.json配置
使用CMake Tools提供的变量自动关联目标程序,确保调试前触发构建:
{ "version": "0.2.0", "configurations": [ { "name": "Debug MY_PROGRAM", "type": "cppdbg", "request": "launch", "program": "${command:cmake.launchTargetPath}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "setupCommands": [ { "description": "启用GDB美观打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "${command:cmake.build}" } ] }
${command:cmake.launchTargetPath}:自动获取CMake生成的程序路径,无需手动指定preLaunchTask:确保调试前自动执行CMake构建
4. 确认远程环境安装C/C++扩展
远程主机必须安装ms-vscode.cpptools(C/C++扩展),因为cppdbg调试适配器由该扩展提供。在VS Code的扩展面板中,切换到「SSH: 远程主机」标签,安装该扩展。
5. 重置CMake配置缓存
按Ctrl+Shift+P打开命令面板,依次执行:
CMake: Reset CMake CacheCMake: Clean Reconfigure
重新生成构建文件,清除旧配置缓存的干扰。
内容的提问来源于stack exchange,提问作者Tomáš Zato
相关产品推荐
相关产品推荐

