在Debian上调试Golang编译问题,可按以下步骤操作:
安装Delve
go install github.com/go-delve/delve/cmd/dlv@latest
确保$GOPATH/bin在PATH环境变量中。
编译程序(带调试信息)
go build -gcflags "-N -l" -o myprogram main.go
禁用优化和内联,便于调试。
启动调试会话
dlv debug ./myprogram
或通过IDE(如VS Code)远程连接至Delve。
常用调试命令
break <文件>:<行号>:设置断点(如break main.go:10)。continue:继续执行至断点。next/step:单步执行(跳过/进入函数)。print <变量名>:查看变量值。backtrace:查看调用堆栈。安装GDB
sudo apt-get install gdb
需安装GDB 7.1+以支持Go调试。
编译程序(带调试符号)
go build -gcflags "-N -l" -o myprogram main.go
```。
启动GDB并调试
gdb ./myprogram
break <函数名或文件:行号>(如break main.main)。run。print <变量名>(需用完整包名,如print 'main.x')。log包或fmt.Println在代码中添加日志,定位问题。journalctl:查看系统日志(适用于服务类程序)。strace:跟踪系统调用,排查文件/网络访问问题。go.mod中依赖版本正确,使用go mod tidy整理依赖。GOPATH、GOROOT是否配置正确。go build -x查看详细编译过程,定位语法或配置问题。参考资料:[1,2,3,4,5,7,8,9,10,11]