如何在VS Code中使用lldb调试C++程序?断点无效应如何解决
解决方案
1. 修正调试器路径配置错误
你当前launch.json中miDebuggerPath配置的lldb-vscode.exe是LLVM提供的VS Code调试适配器,不适配微软C/C++插件的cppdbg调试类型要求的MI接口调试器。
- 打开
F:\Programs\LLVM\bin目录,确认是否存在lldb-mi.exe文件 - 如果存在,将
miDebuggerPath的值修改为F:\\Programs\\LLVM\\bin\\lldb-mi.exe - 如果不存在,建议安装VS Code官方插件市场中的CodeLLDB插件,适配clang工具链的调试需求
2. 切换为CodeLLDB调试方案(推荐)
如果使用CodeLLDB插件,将launch.json的配置替换为以下内容即可:
{ "version": "0.2.0", "configurations": [ { "name": "Clang++ Build and Debug Active File", "type": "lldb", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "cwd": "${workspaceFolder}", "preLaunchTask": "C/C++: clang++.exe build active file" } ] }
3. 其他必要检查项
- 删除原
launch.json中针对gdb的setupCommands配置段,该配置对lldb无效,可能引发隐性报错 - 确认编译参数中
-g参数正常生效:编译完成后可执行文件包含调试符号,可运行llvm-size -A 你的程序名.exe查看是否存在.debug相关段 - 若路径中存在空格(如你的工作路径
F:\Projects\Console Apps\testbuild),可尝试将所有路径变量用双引号包裹,避免解析异常 - 临时将
externalConsole设置为true,启动调试时观察是否有控制台报错输出
内容的提问来源于stack exchange,提问作者Daniil Andreev
相关产品推荐
相关产品推荐

