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退出