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