使用 delve 调试 Go 程序
Contents
相比 GDB, delve 对 go 的支持更好,比如在创建有多个 goroutine 时,调试器不会出跳到其它 goroutine。
HUGOMORE42
安装
|
|
使用
通常使用 dlv run main.go 或 dlv exec ./main 的方式来执行程序。
注意: 使用
dlv exec执行时,需在编译时添加编译参数-ldflags "-s"忽略 debug 打印信息, 使用-gcflags "-N -l"关闭编译器优化。
也可使用 dlv attach <pid> 扑到一个正在运行中的进程上去。
常用命令:
break (b)打断点:b test.go:23在 test.go 的23行打断点;b main.myFun在 main 包的 myfun 函数打断点。continue (c)继续运行到下一个断点或程序结束next (n)单步执行print (b) <var>打印变量 var 的值:p myVarset var=123restart (r)重启进程quit退出
Author wang
LastMod 2017-12-13