在Ubuntu中调试Golang程序,常用工具为Delve(官方推荐)和GDB,以下是具体步骤:
Delve(推荐)
go install github.com/go-delve/delve/cmd/dlv@latest
确保$GOPATH/bin
在$PATH
中,可直接运行dlv
命令。
GDB(需配合插件)
sudo apt install gdb
安装后需通过-gcflags "all=-N -l"
编译程序以保留调试信息。
编译程序
go build -gcflags "all=-N -l" -o myprogram main.go
(-N
禁用优化,-l
禁用内联,方便调试)。
启动调试会话
dlv debug myprogram
或附加到已运行进程:dlv attach <pid>
。
常用命令
break main.go:10
(在指定行或函数设置)。next
(跳过函数)/ step
(进入函数)。print variable_name
。continue
。quit
。编译程序
go build -gcflags "all=-N -l" -o myprogram main.go
```。
启动GDB
gdb ./myprogram
常用命令
break main.go:10
。next
/step
。print variable_name
。backtrace
。log
包输出关键信息,辅助定位问题。runtime/pprof
生成CPU/内存分析报告,定位性能瓶颈。