gdb 调试 go
gdb 调试 go 程序
准备
安装 gdb
brew install gdb
自签
注意证书名称和 codesign 内 gdb 的安装位置
codesign -fs gdb /usr/local/bin/gdb
📢:reboot
调试流程
编译代码
go build -o bin/03_q1_slice_cap -gcflags=all="-N -l" -ldflags='-compressdwarf=false' main.go
最后为代码所在位置
GDB 调试窗口
gdb -tui ./bin/*cap*
./bin 内文件为 main.go 编译生成

-
b main.go:7
在 main.go 第 7 行打断点 -
r
执行到断点处 -
n
单步执行(函数调用不进入内部) -
info locals
打印当前堆栈变量
常用调试命令
b 文件名:行数
打断点info b
当前的断点情况r
运行程序知道断点处c
继续执行到下一个断点s
单步执行,如果有调用函数则进入函数,注意和 n 的区别n
单步执行,如果有调用的函数不会进入函数内部until
退出循环until:行号
执行到指定行info locals
当前堆栈的所有变量info args
打印参数info goroutines
查看所有的 goroutine 及其 IDhelp
帮助q
退出