天天看点

golang调试工具Delve

  线上golang服务出现问题时,Devle是必不少的在线调试工具,如果使用docker,也可以把Devle打进docker镜像里,调试代码。

  安装Devle非常简单,直接运行go  get 即可:

  如果你的go版本为1.5请先设置环境变量GO15VENDOREXPERIMENT=1再运行go get。我的go版本为1.10,不用设置。

  先写一个简单的web服务,然后使用Devle来进行调试。

  在$GOPATH/src/github.com/mytest 文件夹下创建main.go

<a></a>

  简单吧,一个运行在8000端口上的web服务,访问 hi会返回机器的名称。上面代码的行号是很有用的,等会我们打断点的时候会用到。

    使用Delve运行我们的main.go

golang调试工具Delve

可以输入help来看一下帮助文档

golang调试工具Delve

很简单的一些命令

  我们先打在main方法上打一个断点:

golang调试工具Delve

 然后运行c 来运行到断点,

golang调试工具Delve

在func li  里打一个断点,我们可以使用

或者使用   "文件:行号"来打断点

golang调试工具Delve

  现在执行continue 让服务跑起来。访问一下我们的服务,看hi方法会不会停下来。

  看到了没,在19号停下来了。

golang调试工具Delve

  输入 n 回车,单步执行,

  输入 print(别名p)输出变量信息  

  输入 args 打印出所有的方法参数信息

  输入 locals 打印所有的本地变量

golang调试工具Delve

   其他的命令我就不在这里给大家演示了,自己动动手试一下。

   先编译一下我们的main.go然后去行main

golang调试工具Delve

  然后使用Delve附加到我们的项目上,先看一下我们的项目的pid

golang调试工具Delve

  在hi方法里打断点,然后执行c来等待断点的执行。

  

  访问我们的服务器,看一下断点会不会被执行

golang调试工具Delve

  断点执行了。然后调试你的代码吧!