Windows宿主机Goland远程调试VMware内Ubuntu配置报错如何解决
Goland远程调试Win宿主机VMware Ubuntu环境的常见报错解决步骤
对应环境前提
- Windows作为物理宿主机
- VMware虚拟机内安装Ubuntu桌面系统
- 已配置自定义SFTP服务,Windows端修改的文件可自动同步到Ubuntu对应目录
- 当前故障点:远程调试配置触发报错
分步排查操作
- 校验Delve调试器的安装与匹配度
- 远程调试依赖Ubuntu侧本地安装的Delve工具,直接在Ubuntu终端执行
dlv version确认工具可正常调用。注意Delve的版本必须和Ubuntu侧安装的Go SDK版本完全匹配,版本不兼容是这类场景下最高发的报错来源。 - 若未安装Delve,直接在Ubuntu终端执行
go install github.com/go-delve/delve/cmd/dlv@latest完成安装,安装完成后查询dlv的实际可执行路径(一般为~/go/bin/dlv),完整填入Goland远程调试配置的Path to Delve栏位,不能留空或者误填Windows本地的dlv路径。
- 远程调试依赖Ubuntu侧本地安装的Delve工具,直接在Ubuntu终端执行
- 排查虚拟机网络与端口连通性
- 先把Ubuntu的VMware网卡配置为静态IP,避免DHCP动态分配IP导致调试目标IP频繁变动。在Windows命令行执行
ping 配置的Ubuntu静态IP,确认网络连通无丢包。 - 检查Ubuntu侧防火墙规则:如果开启了ufw防火墙,执行
sudo ufw allow 自定义的调试端口号/tcp放行调试端口;再回到Windows端执行telnet Ubuntu静态IP 自定义调试端口号,确认端口可正常连通没有被拦截。 - 注意Delve启动时的绑定地址:手动启动dlv时必须绑定
0.0.0.0:调试端口,不能使用默认的127.0.0.1绑定地址,否则宿主机的连接请求会被直接拒绝。
- 先把Ubuntu的VMware网卡配置为静态IP,避免DHCP动态分配IP导致调试目标IP频繁变动。在Windows命令行执行
- 核对SFTP路径映射的一致性
- 打开Goland的Deployment设置,检查SFTP配置对应的路径映射表:必须明确标注Windows本地项目根目录和Ubuntu侧同步项目根目录的对应关系,不能出现映射错位、路径填写不全的问题。
- 远程调试配置里的
Working directory栏位,必须填写Ubuntu侧的项目绝对路径,不能误填Windows本地的项目路径,否则会触发源码加载失败、断点不生效类报错。
- 检查同步目录的访问权限
- 确认Ubuntu侧同步的项目目录具备读写权限,执行
ls -l 项目目录绝对路径查看权限位,若权限不足可执行chmod -R 755 项目目录绝对路径调整,避免Delve因为无文件访问权限无法加载源码、启动调试进程。
- 确认Ubuntu侧同步的项目目录具备读写权限,执行
内容的提问来源于stack exchange,提问作者manhkhoa168
相关产品推荐
相关产品推荐

