准备
- 远程服务器安装Delve调试器
|
|
本地开发环境及其源码,进行编译后推送到远程服务器 编译时请注意不要启用优化或者去除调试信息,使用以下命令构建
1
go build -gcflags "all=-N -l" -o binaryname
服务器启动程序运行,然后使用命令行启动附加当前服务进程并转发调试信息
1
dlv attach $ServicePID --headless --listen=:$DebugServerPORT --api-version=2 --log --log-output=dap,debugger --only-same-user=false
调试
- 在支持DAP协议的IDE或编辑器上连接到当前调试进程,以vscode为例。
- 点击导航栏的运行按钮,点击添加配置
- 选择connect to server选项
- 输入远程服务器的地址和端口号,会自动生成好配置文件。
- 对于有防火墙的设备注意放行端口,对于公网服务器请注意采取其他安全措施,如使用ssh转发端口到本地进行安全的调试服务,或者使用防火墙访问限制等功能。
- 调试过程与常见调试过程相同,对于有多模块(多main.go)请注意是否当前源码路径与远程二进制文件相同,否则可能导致意外。