Go 调试器:Delve
安装
1  | go install github.com/go-delve/delve/cmd/dlv@latest  | 
检查安装是否成功
1  | dlv version  | 
进入调试
调试源文件
1
dlv debug main.go
调试可执行文件
1
dlv exec ./main
调试进程
1
dlv attach <PROCESS_ID>
调试命令
可以通过 help 查看所有命令
运行程序
| 命令 | 描述 | 
|---|---|
call | 
恢复进程,调用函数 (实验阶段) | 
continue(c) | 
继续运行程序,直到遇到断点或程序结束 | 
next(n) | 
单步调试(跳过函数内部) | 
step(s) | 
单步调试(进入函数内部) | 
restart(r) | 
重新运行 | 
stepout(so) | 
从当前函数跳出 | 
断点
| 命令 | 描述 | 
|---|---|
break(b) | 
设置断点 | 
breakpoints(bp) | 
打印所有断点 | 
clear | 
删除断点 | 
clearall | 
删除所有断点 | 
condition | 
设置条件断点 | 
on | 
设置一个断点触发时执行的命令 | 
toggle | 
打开/关闭 断点 | 
查看变量
| 命令 | 描述 | 
|---|---|
args | 
打印函数参数 | 
display | 
每次程序停止时打印表达式的值 | 
examinemem | 
解析给定地址的内存 | 
locals | 
打印本地变量 | 
print(p) | 
解析一个表达式 | 
regs | 
打印寄存器信息 | 
set | 
设置变量的值 | 
vars | 
打印包内变量 | 
whatis | 
打印类型信息 |