首先需要安装Go语言运行时,推荐通过包管理器(简单)或手动下载(灵活)两种方式:
sudo yum update -y && sudo yum install golang -y # CentOS 7
sudo dnf install golang -y # CentOS 8/9
go1.21.0.linux-amd64.tar.gz
),执行以下命令:wget https://golang.org/dl/go1.21.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
~/.bashrc
(当前用户)或/etc/profile
(全局),添加以下内容:export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
使配置生效:source ~/.bashrc # 或 source /etc/profile
go version
,若输出类似go1.21.0 linux/amd64
则说明安装成功。Delve(dlv
)是Go语言原生调试器,支持断点、单步执行、变量查看等功能,需通过Go命令安装:
go install github.com/go-delve/delve/cmd/dlv@latest
安装完成后,验证Delve版本:
dlv version
若输出Delve版本信息(如Delve Debugger Version: 1.21.0
),则说明安装成功。
默认情况下,go build
会生成包含调试信息的二进制文件,无需额外参数。若需显式指定,可使用:
go build -gcflags="-N -l" -o myapp # -N 禁用优化,-l 禁用内联
生成的myapp
二进制文件可用于调试。
使用Delve启动调试会话,常见命令如下:
dlv debug ./myapp # 调试当前目录下的main包
main.go:10
):(dlv) break main.go:10
(dlv) continue # 继续执行至下一个断点
next
(n
):执行下一行(不进入函数);step
(s
):执行下一行(进入函数)。(dlv) print variableName # 查看变量值
(dlv) exit
这些命令可在终端中直接交互使用,适合快速调试。
VS Code通过Go扩展可提供更直观的调试体验,步骤如下:
launch.json
配置文件:launch.json
文件,内容如下:{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Program",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}", // 当前工作区目录
"env": {},
"args": [] // 可添加命令行参数,如 ["--port=8080"]
}
]
}
main.go
),在代码行左侧点击设置断点,然后点击顶部“运行和调试”侧边栏的绿色三角按钮,即可启动调试会话。若需在本地调试运行在CentOS服务器上的Go程序,可配置Delve的headless模式:
dlv debug --headless --listen=:2345 --api-version=2 ./myapp
launch.json
,添加“Remote Attach”配置:{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Remote",
"type": "go",
"request": "attach",
"mode": "remote",
"remotePath": "${workspaceFolder}", // 服务器项目路径
"port": 2345, // 服务器Delve监听端口
"host": "your-server-ip" // 服务器IP地址
}
]
}
点击“运行和调试”侧边栏,选择“Attach to Remote”即可连接服务器调试。sudo
运行Delve(不推荐长期使用),或调整二进制文件权限;