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

QFdongdong · · 2107 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

作者:Davie

链接:https://www.zhihu.com/question/40980436/answer/655067839

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

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

安装:go get -uhttp://github.com/derekparker/delve/cmd/dlv

配置:

export GOROOT=/usr/lib/golang

export GOPATH=$HOME/go

export PATH=$PATH:$GOPATH/bin

使用:

1、dlv debug xxx.go 指定需要debug的文件

2、进入dlv交互式窗口后,b : 指定断点

3、r arg 指定运行参数

4、n 执行一行

5、c 运行至断点或程序结束

3、日志输出如果使用GoWeb框架进行开发,可以使用日志输出来进行程序调试。

```

Logger.Info()

Logger.Warn()

Logger.Error()

Logger.Debug()

....

```

4、开发IDE调试工具Golang开发工具如Goland,本身自带debug调试功能。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:QFdongdong

查看原文:go语言有哪些好的debug方法?

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2107 次点击  
加入收藏 微博
被以下专栏收入,发现更多相似内容
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传