以下是Linux中Golang的常用调试技巧及工具:
Delve(推荐)
go install github.com/go-delve/delve/cmd/dlv@latest
。dlv debug main.go
:启动调试(支持直接调试代码或可执行文件)。b main.go:10
:在指定行设置断点。c
(继续)、n
(单步跳过)、s
(单步进入)、p variable
(打印变量)。bt
:查看调用栈。dlv attach <pid>
或--listen
参数)。GDB(通用型)
sudo apt-get install gdb
。-gcflags="-N -l"
禁用优化。break
(断点)、next
/step
(单步)、print
(查看变量)。log
包或fmt.Println
在关键位置打印变量和执行流程。net/http/pprof
,通过http.ListenAndServe
启动分析服务。go tool pprof
分析CPU/内存数据,如go tool pprof http://localhost:6060/debug/pprof/profile
。kill -SIGQUIT <pid>
获取所有goroutine堆栈。debug.PrintStack()
打印当前goroutine堆栈。launch.json
中配置调试参数,支持断点、单步执行等图形化操作。go test
编写测试用例,验证代码逻辑。go vet
和golint
发现潜在问题。选择建议:简单逻辑用日志或pprof
,复杂调试优先Delve,远程或大型项目可搭配IDE。