如何配置VSCode作为服务器,配合远程dlv dap调试Go应用?
关于VS Code作为DAP服务器接收Delve客户端连接的问题
目前这个方案不可行,因为VS Code官方Go插件的调试架构默认是让VS Code作为DAP客户端主动连接Delve服务器,并没有提供配置选项让VS Code开启DAP监听端口,来接收Delve通过--client-addr发起的连接。
替代远程调试方案
如果需要远程调试Go应用,推荐使用常规的反向模式:
- 在远程机器启动Delve DAP服务器:
dlv dap --listen=:2345 - 在VS Code的
launch.json中配置远程调试:{ "name": "Remote Go Debug", "type": "go", "request": "attach", "mode": "remote", "remotePath": "/远程机器上的项目路径", "port": 2345, "host": "远程机器IP", "program": "${workspaceFolder}" }
配置完成后启动调试,VS Code会主动连接远程的Delve服务器,实现远程调试。
功能请求建议
如果你有特定场景必须让Delve作为客户端发起连接(比如网络策略限制,本地VS Code无法主动访问远程机器),可以在VS Code Go插件的仓库提交功能请求,详细说明你的使用场景和需求,开发团队会评估是否需要添加该功能。
内容的提问来源于stack exchange,提问作者Adrian
相关产品推荐
相关产品推荐

