go语言有哪些好的debug方法?

做者:Davie
连接:https://www.zhihu.com/question/40980436/answer/655067839
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。

做为一门静态语言,支持调试是必须的。git

一、godebug godebug是一个跨平台的Go程序调试工具,传统的编译型语言调试器使用底层系统调用并读取二进制文件用于调试各种符号。使用起来很麻烦并且很难移植。godebug使用不一样的方法,直接把源码做为目标程序,在每一行插入调试代码,而后编译并运行。 可是目前GDB作的并很差,使用起来有这样那样的问题。github

二、dlv 专业调试Go语言的一款工具。golang

  • 安装:go get -u github.com/derekparker…
  • 配置:
    export GOROOT=/usr/lib/golang
    export GOPATH=$HOME/go
    export PATH=$PATH:$GOPATH/bin
  • 使用:
    一、dlv debug xxx.go 指定须要debug的文件
    二、进入dlv交互式窗口后,b <filename>:<line> 指定断点
    三、r arg 指定运行参数
    四、n 执行一行
    五、c 运行至断点或程序结束

三、日志输出 若是使用GoWeb框架进行开发,可使用日志输出来进行程序调试。 bash

```
Logger.Info()
Logger.Warn()
Logger.Error()
Logger.Debug()
....
```
复制代码

四、开发IDE调试工具 Golang开发工具如Goland,自己自带debug调试功能。框架

相关文章
相关标签/搜索