启动调试
$ dlv debug main.go
调试测试代码
$ dlv test -test.run TestTopK3
$ dlv test -- -test.run TestSort3
设置断点
(dlv) break main.main
Breakpoint 1 set at 0x4a0b4f for main.main() ./main.go:7
(dlv) b main.go:8
Breakpoint 2 set at 0x4a0b5d for main.main() ./main.go:8
没有被调用到的函数是无法设置断点的。
其他
- 查看帮助文档: help
- continue 或 c:开始运行,直到断点或者程序结束。
- restart 或 r:重新开始调试。
- 单步执行: n 或 next
- 进入函数: s 或 step
- 跳出函数: stepout
- 打印变量: p 或 print
- 打印所有断点信息: bp 或 breakpoints
- 打印本地变量: locals
- 打印堆栈: bt 或 stack