在配置調試工具前,需確保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進行高效的代碼調試。