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

VSCode调试Golang应用时断点失效,调试器提示存在的文件找不到

解决方案
  • 更换调试适配器:弃用legacy模式,改用官方新版dlv-dap适配器,删除现有配置中所有debugAdapter: "legacy"相关配置,新版vscode-go插件默认使用dlv-dap,路径兼容性更好。
  • 配置路径映射:如果你的/home/gbajson/Sync是软链接、同步盘挂载路径或者跨系统共享路径,会出现VS Code识别的逻辑路径和dlv读取的实际物理路径不一致的问题,在launch配置中添加substitutePath字段做路径映射即可,可先通过readlink -f /home/gbajson/Sync/clickr/clickr-node-api/clickr-node-api.go命令获取文件实际物理路径,配置示例如下:
"substitutePath": [
    {
        "from": "/home/gbajson/Sync",
        "to": "替换为你查询到的Sync目录实际物理路径"
    }
]
  • 添加调试编译参数:在launch配置中添加buildFlags字段,禁止编译优化和函数内联,保证调试信息完整:
"buildFlags": "-gcflags=\"all=-N -l\""
  • 确认工作区根目录:确保VS Code打开的工作区根目录是项目go.mod文件所在的目录,不要单独打开子目录启动调试,避免dlv模块路径匹配失败。

修改后完整的launch配置参考:

"launch": {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug Go",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${fileDirname}",
            "env": {},
            "args": [],
            "buildFlags": "-gcflags=\"all=-N -l\"",
            "substitutePath": [
                {
                    "from": "/home/gbajson/Sync",
                    "to": "替换为你的Sync目录实际物理路径"
                }
            ],
            "showLog": true,
            "logOutput": "rpc",
            "trace": "log"
        }
    ]
}

settings.json中删除go.delveConfig的legacy相关配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:57:04