Mac端VS Code调试C++触发LLDB错误无法启动调试求助
解决方案
- 修正launch.json配置
报错明确提示未检测到目标架构,需手动补充targetArchitecture字段,同时调整终端配置规避Mac系统权限限制,修正后的配置参考如下:{ "version": "0.2.0", "configurations": [ { "name": "cpp - Build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": true, "MIMode": "lldb", "targetArchitecture": "arm64", // 如果你使用Intel芯片的Mac,将该值替换为x86_64 "miDebuggerPath": "/usr/bin/lldb" } ] } - 检查编译参数是否包含调试符号
编译C++程序时必须添加-g参数才能生成lldb所需的调试信息,直接用clang编译时命令应为:clang++ -g 你的源文件名称.cpp -o 输出程序名称
如果你使用tasks.json自动执行编译,需确认tasks配置的args参数中包含-g字段。 - 开放VSCode调试权限
打开系统设置 -> 隐私与安全性 -> 开发者工具,确认Visual Studio Code已被添加到允许列表中,修改完成后重启VSCode再尝试调试。 - Apple Silicon芯片Mac适配优化
如果你使用M系列芯片的Mac,可安装CodeLLDB扩展后,将配置中type字段的值从cppdbg修改为lldb,该扩展对ARM架构适配更好,可规避很多原生cppdbg的兼容问题。
内容的提问来源于stack exchange,提问作者user17230405
相关产品推荐
相关产品推荐

