安装go

wget https://studygolang.com/dl/golang/go1.14.1.linux-amd64.tar.gz

tar -C /usr/local -zxvf go1.14.1.linux-amd64.tar.gz

mkdir -p /home/go/bin/home/go/pkg /home/go/src  #官方建议工作目录为/home/go

vi .bash_profile
#在最下面添加
export GOROOT=/usr/local/go
export GOPATH=/home/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOPROXY="https://goproxy.io"
source .bash_profile

安装Delve

# cd $GOPATH/src/
# git clone https://github.com/derekparker/delve.git
# cd delve/cmd/dlv/
# go build
# go install

命令介绍

Usage:
dlv [command] Available Commands:
attach 可以用来对一个正在运行的进行进行调试.
connect 连接到headless调试器.
core 用来调试core文件.
dap [EXPERIMENTAL] 启动一个Debug Adaptor Protocol (DAP)的TCP服务器来通信.
debug 在当前包或者指定的包编译并debug程序.
exec 如果你已经编译好了二进制,可以用该命令启动调试.
help 帮助命令.
test 可以用来测试自己编写的测试源码文件.
trace 编译并跟踪程序.

debug和attach使用的多一点

Dlv Debug

  • b(break) main.main:设置断点,还可以根据行号设置断点 b 9

  • bp:查找已经设置的断点

  • c:该命令是让程序运行起来,遇到设置的断点会停止

  • restart:重新开始下一轮的调试

  • n:下一步,不会陷入内部

  • s:进入某个函数的内部,源码函数也跟踪进去

  • so:如果用s陷入到内部函数,可以快速使用该命令跳出来,回到进入点

  • p [var_name]:打印变量的值

  • gr and grs:这两个命令是用来查看goroutine的

  • help:使用过程中随时通过help查看命令

debug运行中的进程

找到运行中的进程号,执行dlv attach {pid},设置完断点后,记得用c让进程处于运行状态,否则对于http或者grpc程序,没有办法接受请求,从而无法测试。

最新文章

  1. css之滚动条
  2. Gephi可视化(一)——使用Gephi Toolkit创建Gephi应用
  3. LBS优化方案探究
  4. Java基础之写文件——使用多个视图缓冲区(PrimesToFile2)
  5. factory工厂模式之简单工厂SimpleFactory
  6. 【Todo】Nginx架构学习
  7. C#中指针使用总结
  8. Http协议Get方式获取图片
  9. SMT实用工艺
  10. emacs format
  11. java多线程知识点概述
  12. 在SQL中用正则表达式替换html标签(2)
  13. ajax请求获取实时数据
  14. SpringCloud-day09-Feign与Hystrix整合
  15. python基础-分支判断语句(4)
  16. andorid 列表视图 ListView 之BaseAdapter
  17. 由VC2010与VC2017数据结构差异造成的程序错误
  18. scikit-learn画ROC图
  19. Debian下的crontab保存
  20. jquery 笔记总结

热门文章

  1. MySQL数据类型全解析
  2. (二) LDAP 安装
  3. 诸葛亮的锦囊妙计竟然是大名鼎鼎的Java设计模式:策略模式
  4. kafka listeners和advertised配置
  5. Python学习笔记-PuLP库(3)线性规划实例
  6. Weekly Contest 184
  7. hdu4122 制作月饼完成订单的最小花费
  8. hdu4966 最小树形图(最少辅导花费)
  9. WindowsPE 第七章 资源表
  10. 每天一道面试题LeetCode 80--删除排序数组中的重复项 II(python实现)