You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下VS Code无法调试Godot 4.2.1 C++扩展问题排查

Godot 4.2.1 + godot-cpp 4.2 扩展断点调试失败排查

问题背景

Windows环境下使用Godot 4.2.1稳定版,VS Code项目配置完成后可正常运行场景,但基于godot-cpp 4.2分支编译的扩展无法触发断点调试。当前VS Code配置如下:

launch.json 配置

{   
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "preLaunchTask": "build",
            "name": "Debug",            
            "program": "c:\\dev\\my\\godot\\Godot_v4.2.1-stable_win64.exe\\Godot_v4.2.1-stable_win64_console.exe",
            "args": ["--path","c:\\dev\\my\\godot\\godotcpp\\test4\\demo"],
            "cwd": "${workspaceFolder}"
        }
    ]
}

tasks.json 配置

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "scons.exe -j4  target=template_debug  debug_symbols=yes ",
        }
    ]
}

编译命令

scons.exe -j4  target=template_debug  debug_symbols=yes

需补充/检查的配置项

  • 添加调试符号路径映射:LLDB无法自动关联扩展源码与符号,需在launch配置的configuration节点内加入以下配置:

    "sourceMap": {
        "/godot-cpp-source-path": "${workspaceFolder}/godot-cpp/src",
        "/your-extension-source-path": "${workspaceFolder}/src"
    },
    "symbolSearchPaths": [
        "${workspaceFolder}/bin" // 替换为扩展编译后dll所在目录
    ]
    
  • 追加Godot调试启动参数:在args中加入--debug,强制Godot以调试模式加载扩展,确保符号被正确识别:

    "args": ["--path","c:\\dev\\my\\godot\\godotcpp\\test4\\demo", "--debug"]
    
  • 验证编译符号生成:检查扩展编译目录下是否生成了带调试符号的dll文件(通常文件体积更大),可通过LLDB命令image list确认符号是否成功加载。

  • 指定LLDB调试器路径:Windows下LLDB可能存在路径适配问题,在launch配置中添加正确的lldb-mi路径:

    "miDebuggerPath": "C:\\Program Files\\LLVM\\bin\\lldb-mi.exe" // 替换为你的LLVM实际安装路径
    
  • 校验工作目录与路径:确保cwd设置与项目实际目录匹配,或尝试将program改为相对路径避免转义错误,比如:

    "program": "${workspaceFolder}/../../Godot_v4.2.1-stable_win64_console.exe"
    

内容的提问来源于stack exchange,提问作者user63898

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:52:50