goland使用dlv调试本地"远程"项目

利用GoLand中的debug功能里的go remote一项,可以调试一个指定的host:port的项目。

由此我们可以联想到,很多情况下项目并没有一个像简单的application给你debug的情况,那么我们就可以利用go remote调试启动的完整项目。

需要先安装dlv,安装文档如下 delve安装 

另外也可以去看一下阿里云社区的文档详细介绍delve的使用 使用Delve进行Golang代码的调试

启动的时候根据第一张图的提示,需要先dlv启动项目,再在Goland中debug,否则debug由于监听不到该host,会报connection refused的错误。不这样做的话会导致dlv无法监听到项目导致无法进入断点,也就起不到debug的预期功效了。具体

这样暂时有点问题,是dlv启动停止的时候直接利用Ctrl-C无法停止项目,需要ps查看进程号将进程杀死,同时需要注意的是,debug也是一个进程,所以需要将debug进程也杀死,直至项目无法连接。

PS: 看了一下delve项目的issue issue1318,是由于启动的时候的--headless参数,会屏蔽掉系统的信号量,下次试一下不加这个参数能否调试。

PPS: 之前dlv无法进入断点是由于监听的端口没有利用dlv启动导致的,修改了启动的流程后问题解决。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值