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 |
打印类型信息 |