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

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

作者:Davie 链接:https://www.zhihu.com/question/40980436/answer/655067839 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 作为一门静态语言,支持调试是必须的。1、godebug godebug是一个跨平台的Go程序调试工具,传统的编译型语言调试器使用底层系统调用并读取二进制文件用于调试各类符号。使用起来很麻烦而且很难移植。godebug使用不同的方法,直接把源码作为目标程序,在每一行插入调试代码,然后编译并运行。 但是目前GDB做的并不好,使用起来有这样那样的问题。2、dlv 专业调试Go语言的一款工具。安装:go get -u http://github.com/derekparker/delve/cmd/dlv配置:export GOROOT=/usr/lib/golangexport GOPATH=$HOME/goexport PATH=$PATH:$GOPATH/bin使用:1、dlv debug xxx.go 指定需要debug的文件2、进入dlv交互式窗口后,b <filename>:<line> 指定断点3、r arg 指定运行参数4、n 执行一行5、c 运行至断点或程序结束3、日志输出 如果使用GoWeb框架进行开发,可以使用日志输出来进行程序调试。 ``` Logger.Info() Logger.Warn() Logger.Error() Logger.Debug() .... ``` 4、开发IDE调试工具 Golang开发工具如Goland,本身自带debug调试功能。

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

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

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