vscode+dlv 远程调试
目录
dlv在服务器排查程序问题,没有可视化界面比较繁琐,利用vscode+dlv 远程调试,就和在本地调试一样简单
安装
- 在服务器和本地开发环境都要安装dlv:
go install github.com/go-delve/delve/cmd/dlv@latest
; 两个机器版本一定要一模一样 - vscode配置launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "remote debug",
"type": "go",
"request": "attach",
// 这里设置remote 远程
"mode":"remote",
// 目标机器 端口
"port": 2345,
// 目标机器 ip
"host": "10.10.10.123",
// 本地与目标一模一样的工程目录位置
"substitutePath": [
{ "from": "本地项目目录/hello", "to": "/服务器项目目录/hello" },
]
}
],
}
运行
- 代码编译增加
-gcflags='all=-N -l'
- 在服务器端的程序目录下(main.go所在位置)执行命令:
dlv --listen=:2345 --headless=true --api-version=2 --log attach 进程id
- 本地vscode启动调试
- 这样就能远程调试了