服务器没网络,所以需要先在有网络的情况下打包好必备的dlv所需要的库。
1.打包dlv
# 安装delve必备文件
git clone https://github.com/go-delve/delve.git
cd delve
go mod vendor
# 打包文件
cd ..
tar -czvf delve.tar.gz delve
2.去服务器上安装
tar -xzvf delve.tar.gz
cd delve
go install -v ./cmd/dlv
# 查看版本
dlv version
3.调试程序
dlv --listen=:2345 --headless=true --api-version=2 exec ./your-app
参数解释:
--headless=true:
这个选项告诉 Delve 以无头模式(headless mode)运行。
无头模式意味着 Delve 将不会提供交互式调试界面,而是等待远程客户端(如 GoLand)连接来进行调试。这对于远程调试非常有用,因为只需要在服务器上启动 Delve,而在本地使用 IDE 进行调试。
--api-version=2:
这个选项指定了 Delve 使用的 API 版本。API 版本控制了调试器如何与客户端(如 GoLand)通信。
--api-version=2 是当前常用的版本,提供了最新的调试功能和改进,确保与现代 IDE 的兼容性。
# 打开本地ide,选择“Go Remote”,设定好服务器的IP和端口即可