为了账号安全,请及时绑定邮箱和手机立即绑定

无法启动下载

无法启动下载

Go
蓝山帝景 2022-09-19 20:41:24
当我在 VSCode dlv dap 调试中启动时,我收到以下消息:Couldn't start dlv dap: Error:timed out while waiting for DAP server to start我已经有项目的启动配置:午餐:{"version": "0.2.0","configurations": [    {        "name": "Launch file",        "type": "go",        "request": "launch",        "mode": "debug",        "program": "${workspaceFolder}",        "showLog": true,        "env": {            "GO111MODULE": "on"        }    }]}和设置.json 是 :{"folders": [    {        "path": "."    }],"settings": {    "go.useCodeSnippetsOnFunctionSuggestWithoutType": true,    "go.autocompleteUnimportedPackages": true,     "go.gocodePackageLookupMode": "go",    "go.gotoSymbol.includeImports": true,    "go.useCodeSnippetsOnFunctionSuggest": true,    "explorer.confirmDelete": false,    "go.formatTool": "goimports",    "go.docsTool": "gogetdoc",    "go.buildFlags": [],    "explorer.confirmDragAndDrop": false,    "window.zoomLevel": 0.8,    "editor.minimap.enabled": false,    "go.useLanguageServer": true,    "go.delveConfig":{        "debugAdapter":"dlv-dap"        },    "[go]": {        "editor.snippetSuggestions": "none",        "editor.formatOnType": true,        "editor.formatOnSave": true,        "editor.codeActionsOnSave": {            "source.organizeImports": true        }    },    "gopls": {        "experimentalWorkspaceModule": true,        "usePlaceholders": true, // add parameter placeholders when completing a function        "completionDocumentation": true // for documentation in completion items    }},    }项目结构如图所示:
查看完整描述

3 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

这可能是由于 VS Code Go 扩展的最新更新而发生的。

第一个选项是通过从命令面板(Linux / Windows:++,Mac:++)运行命令来修复它。"Go: Install/Update Tools"CtrlShiftPP

然后,从菜单中标记&gt,然后点击确定开始安装/更新。dlvdlv-dap

Delve 的本机 DAP 实现正在积极开发中,因此请使用从其主分支构建的 Delve 来利用最新的功能和错误修复。Go 扩展将这个最新版本的 Delve 与正式发布的 dlv 版本分开维护,并使用名称 dlv-dap 进行安装。

第二个选项是使用旧版调试适配器。在下面的链接中对此进行更多介绍...

查看 https://github.com/golang/vscode-go/blob/master/docs/debugging.md 的完整文档


查看完整回答
反对 回复 2022-09-19
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

您可能很幸运地将 delveConfig 切换为使用传统模式:

    "go.delveConfig":{
        "debugAdapter":"legacy"
        }

我和我的团队最近在更新VSCode后开始看到同样的问题。这里有更多关于此设置的信息:https://go.googlesource.com/vscode-go/+/HEAD/docs/debugging.md#switching-to-legacy-debug-adapter,但我相信根本原因(如果这确实解决了你的问题)将是你的Golang版本不是dlv-dap的目标版本。低于 Go 版本 1.15 的任何内容都需要使用旧模式,而最新版本的 delve 调试器现在碰巧跳过默认的旧模式。

在此更改生效之前,我还需要终止 VSCode。根据dlv-dap文档,您还可以通过将launch.json的模式切换到“远程”来强制将其转换为传统模式,因此可能有一些(也许更好)方法来解决此问题。


查看完整回答
反对 回复 2022-09-19
?
函数式编程

TA贡献1807条经验 获得超9个赞

对于苹果操作系统用户:

brew install delve


查看完整回答
反对 回复 2022-09-19
  • 3 回答
  • 0 关注
  • 205 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信