在配置调试工具前,需确保CentOS系统已安装Golang。以下是两种安装方式:
go1.20.3.linux-amd64.tar.gz
),执行以下命令:wget https://golang.org/dl/go1.20.3.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.20.3.linux-amd64.tar.gz
sudo dnf install golang -y
配置环境变量:
编辑~/.bashrc
(或~/.bash_profile
),添加以下内容:
export PATH=$PATH:/usr/local/go/bin export GOPATH=$HOME/go export GO111MODULE=on
使配置生效:
source ~/.bashrc
验证安装:
go version # 输出类似:go version go1.20.3 linux/amd64
Delve(dlv
)是Go语言的源代码级调试器,支持断点、单步执行、变量查看等功能。
安装Delve
若Go版本≥1.16,直接使用go install
安装最新版:
go install github.com/go-delve/delve/cmd/dlv@latest
若Go版本<1.16,需先克隆源码再安装:
git clone https://github.com/go-delve/delve.git cd delve go install
验证安装:
dlv version # 输出类似:Delve Debugger Version: 1.20.0
(可选)配置环境变量
将Delve路径加入PATH
,方便全局调用:
编辑~/.bashrc
,添加:
export PATH=$PATH:$(go env GOPATH)/bin
生效:
source ~/.bashrc
为了让Delve获取调试信息(如变量名、行号),需在编译时保留调试符号。默认情况下,go build
会自动包含调试信息,无需额外参数。若需自定义输出文件名:
go build -o myapp # 生成带调试信息的二进制文件
注意:避免使用-ldflags="-w -s"
(会剥离调试信息),若需优化体积,可在调试完成后添加。
基础调试(直接调试程序)
在程序目录下,执行以下命令启动调试:
dlv exec ./myapp
启动后,Delve会进入交互模式,显示以下提示符:
(dlv)
远程调试(适用于服务器场景)
若需在本地调试运行在CentOS服务器上的程序,需启动Delve调试服务器:
dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./myapp
其中:
--listen=:2345
:指定Delve监听的端口(默认2345);--headless=true
:以无头模式运行(无终端交互);--api-version=2
:指定API版本(兼容主流IDE)。进入Delve交互模式后,可使用以下命令进行调试:
break main.main # 在main函数入口设置断点 break main.go:10 # 在指定文件的第10行设置断点
breakpoints
continue # 运行至下一个断点
step # 进入函数内部 next # 跳过函数调用(执行下一行)
print variableName # 查看指定变量的值 print variableName.Type # 查看变量类型
stack # 显示当前调用堆栈
quit
VS Code是常用的Go开发IDE,支持Delve调试,配置步骤如下:
安装VS Code及Go扩展
创建launch.json
文件
Ctrl+Shift+D
);launch.json
文件;{ "version": "0.2.0", "configurations": [ { "name": "Launch Go Program", "type": "go", "request": "launch", "mode": "debug", "program": "${workspaceFolder}", // 当前工作区目录 "env": {}, "args": [] // 可添加命令行参数,如 ["--port=8080"] } ] }
启动调试
F5
),即可启动调试会话。通过以上步骤,即可在CentOS环境下完成Golang调试工具的配置,并使用Delve或VS Code进行高效的代码调试。