在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/內存分析報告,定位性能瓶頸。