Debug 教程
大约 1 分钟约 403 字
Debug 教程
- 已安装WSL2和较新版本的goland
- WSL2已安装并启动SSH服务
Windows侧操作
clone项目
在goland配置SSH连接 2.1 通过goland的菜单栏Tools–>Deployment–>Configuration来添加远程调试的配置 2.2 创建一个SFTP协议的配置,如图
2.3 然后进入SSH configuration , 如图输入SSH连接所需的信息,点击TEST CONNECTION后确定连接成功, 保存。
2.4 进入Mappings, 建立项目目录的映射 2.5 上传项目文件到WSL2 (用于同步项目内容如果已经上传过请忽略此步骤)
项目目录右键->Deployment- >上传项目到WSL2Run/Debug的配置 3.1 进入goland的菜单栏Runs–>Configurations 3.2 创建一个Go Remote , Host 填用WSL2的 eth0 ip, 保存。
WSL2侧操作
在WSL2中openGemini的目录
- 编译二进制文件(如果已经编译,请忽略此步骤)
python3 build.py --clean
- 在WSL2中安装较新版本delve
go install github.com/go-delve/delve/cmd/dlv@latest
- 启动debug
若需指定配置文件请在该命令后加上 -- -config [配置文件path]
dlv debug --headless --listen=:2345 --api-version=2 --accept-multiclient app/ts-server/main.go
最后建立连接并debug
在goland点击调试,显示已连接则表明成功。
另开一个虚拟机窗口进入openGemini 命令行进行debug。 如:
2.1查询命令会调用serveQuery , 示例将断点打在serveQuery里面(handler.go的414行) 2.2 在openGemini命令行执行select * from h2o_feet on NOAA_water_database 2.3 程序运行到断点处暂停。 2.4 点击这里向后移动断点