温馨提示×

CentOS Golang如何进行代码调试

小樊
61
2025-08-12 14:35:11
栏目: 编程语言

在CentOS上调试Golang代码,推荐使用Delve(Go官方调试器),也可选择GDB,以下是具体步骤:

一、使用Delve调试(推荐)

1. 安装Delve

# Go 1.16+版本直接安装  
go install github.com/go-delve/delve/cmd/dlv@latest  

# 验证安装  
dlv version  

2. 编译程序(需包含调试信息)

# 普通编译(默认包含调试信息)  
go build -o myapp main.go  

# 若需远程调试,可指定监听端口  
dlv --listen=:2345 --headless=true --api-version=2 exec ./myapp  

3. 启动调试会话

  • 命令行直接调试

    dlv debug main.go  
    

    进入交互模式后,常用命令:

    • break <文件:行号>:设置断点(如break main.go:10
    • continue:运行至断点或程序结束
    • next:单步跳过函数调用
    • step:单步进入函数
    • print <变量名>:查看变量值
    • quit:退出调试
  • 与IDE集成(如VS Code)

    1. 安装VS Code的Go扩展插件。
    2. 配置launch.json,选择Go环境,设置"mode": "debug",指定程序路径或远程端口(如"port": 2345)。
    3. 点击“启动调试”按钮即可。

二、使用GDB调试(备选)

1. 安装GDB

sudo yum install gdb  

2. 编译程序并调试

# 编译时添加调试信息  
go build -gcflags "-N -l" -o myapp main.go  

# 启动GDB  
gdb ./myapp  

3. 常用GDB命令

  • break <行号或函数名>:设置断点
  • run:运行程序至断点
  • next:单步跳过函数
  • step:单步进入函数(需注意GDB对Go协程支持有限)
  • print <变量名>:查看变量值
  • quit:退出调试

注意事项

  • Delve是Go官方推荐工具,对Go语言特性(如协程、接口)支持更完善,优先使用。
  • 若需调试远程服务,可通过Delve的--listen参数指定端口,搭配IDE远程连接。
  • 调试前确保程序编译时包含调试信息(默认go build已满足)。

参考资料:

0