0%

Go调试器:Delve

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