以下文章来源于大愚Talk,作者大愚Talkdelve 的汉语意思是:钻研、探索;用这个来命名一个debug工具还是非常的形象 。
本文主要介绍该工具的安装与常用使用方法 。是一个step-by-step的文章 。目标是帮助大家学会如何使用 delve 来debug自己的代码 。
安装官网的安装文档地址:
https://github.com/go-delve/delve/tree/master/Documentation/installation
我再重复下如何在 mac 上进行安装 。
首先 xcode-select --install 把依赖的编译工具链安装一下 。
然后通过下面的命令即可完成
$ go get github.com/go-delve/delve/cmd/dlv这里有个注意点,大家如果使用modules的方式来管理项目,应该知道安装依赖包也是上面这个命令 。所以执行上面的命令时,请确保自己不是在一个go modules的路径下 。
到此,安装工作就可以完成了,可以在终端执行,可以看到如下画面:
? /Users/dayu >dlv versionDelve DebuggerVersion: 1.4.0Build: $Id: 67422e6f7148fa1efa0eac1423ab5594b223d93b $
命令介绍用中文来翻译下命令的含义 。Usage:dlv [command]Available Commands:attach可以用来对一个正在运行的进行进行调试.connect连接到headless调试器.core用来调试core文件.dap[EXPERIMENTAL] 启动一个Debug Adaptor Protocol (DAP)的TCP服务器来通信.debug在当前包或者指定的包编译并debug程序.exec如果你已经编译好了二进制,可以用该命令启动调试.help帮助命令.test可以用来测试自己编写的测试源码文件.trace编译并跟踪程序.
dlv 的命令非常多,主要介绍下 debug 与 attach 的使用 。其它命令大家可以尝试下,不过一般用的也非常少!dlv test 这个也非常有用,不过使用跟debug差不多 。使用下面将主要介绍这 debug 与 attach 如何使用,这两个命令其实主要面对两种使用场景 。
- 用 Golang 写了一个命令行程序,想要debug一下;
- 写了一个 Grpc 或者 Http 服务,运行的进行进行debug;
Debug Main包程序先来看直接使用 debug 来调试代码 。调试的代码样例:
文章插图
【Go 的 Debug 工具 delve 介绍】debug调试代码
此时在终端进入该文件所在路径,然后执行
dlv debug然后会成功进入 delve 提供的debug交互界面,如下图所示 。
文章插图
debug交互
图中展示了三个非常常用的命令 。来分别解释下 。
- b main.main
- bp
文章插图
断点查看
查看已经设置的断点常常一个目的是用来寻找 clear 可以清除哪一个断点 。
- c
推荐阅读
- 茶香熏三文鱼的做法,茶香熏鲅鱼的做法
- 茶水烧饭的方法,绘圆老泼古老的饮茶方法
- 茶叶有多少种类,茶叶中茶多酚的含量是多少
- 一次渗透测试引发的Json格式下CSRF攻击的探索
- Selenium自动化中无头浏览器的应用
- 茶薪菇栽培要点,关于鸠盘茶的传说
- 多喝茶水的好处和坏处,喝毛尖茶的坏处
- 都匀毛尖的特点,都匀毛尖茶
- 一个数据包在网络中的心路历程
- 茶叶的25项功效,抗衰老功效之茶叶的现代功效作用