在Ubuntu上调试Golang程序,常用工具为Delve(官方推荐)和GDB,以下是具体步骤:
go install github.com/go-delve/delve/cmd/dlv@latest
确保$GOPATH/bin在$PATH中,可通过dlv version验证安装。
go build -gcflags "all=-N -l" -o myprogram main.go
-N -l关闭优化和内联,便于调试。
dlv exec ./myprogram
或直接调试文件:
dlv debug main.go
break main.go:10(在指定行设置断点)continue(运行至下一个断点)next(不进入函数)/ step(进入函数)print variable_namequitsudo apt install gdb
go build -gcflags "all=-N -l" -o myprogram main.go
gdb ./myprogram
break main.go:10 或 b main.mainrunnext(不进入函数)/ step(进入函数)print variable_namebacktrace 或 btquitlaunch.json)。pprof工具(需在代码中导入net/http/pprof)。-gcflags生成调试符号,且部分Go特性支持有限。根据需求选择工具,Delve更适合Go项目,GDB则适用于需要通用调试的场景。