![2bab4e7647b3d45b5034e4e34247b639.gif](https://i-blog.csdnimg.cn/blog_migrate/f2b1e9a6bb624eb4bb70e81fa4895a8a.gif)
在前面的Go语言调试教程中,发布了Go语言调试之Hello World篇。介绍了使用Delve命令行来调试Go程序。本篇教程介绍如何在IDE(Goland)中方便的调试Go应用。
GoLand + Delve:Attach到进程调试(远程调试)
前面的例子有使用Delve启动应用或attach到应用进行调试,但添加断点,运行到下一步,查看变量值等操作都是在终端中,输入delve命令来进行的。这种调试方式也太古老了,效率低下。真实场景下,几乎不会使用这种方式来进行调试。我们还是希望借助IDE进行更高效的调试。
下面就介绍如何在GoLand中配合delve进行调试。包括附加到进程调试和远程调试。其实附加到本地进程和远程调试原理是一样的,待调试的进程是通过delve启动的,delve会启动进程,并立即附加到进程,开启一个debug session。并且启动一个debug server,暴露某个端口,客户端IDE可以通过该端口连接到debug server进行调试。
准备条件:
- 安装好了GoLand。
- 安装好了delve,并将dlv添加到$PATH中。
附加到进程调试
假设需要调试如下的应用,我们会在本地运行该应用,附加到进程调试:
hello.go:
func main() { ok := flag.Bool("ok