十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下VSCode中调试Golang工程的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
创新互联建站服务项目包括龙子湖网站建设、龙子湖网站制作、龙子湖网页制作以及龙子湖网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,龙子湖网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到龙子湖省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
最简单的调试攻略
多项目调试, 适用个人开发和项目开发
无需修改系统环境变量
在官网下载最新版的VSCode:
Visual Studio Code - Code Editing. Redefined**
打开扩展面板 VSCode->查看->扩展
找到Go插件 在搜索框里输入Go, 找到第二行写有 Rich Go language support for Visual Studio Code的插件, 点击安装 注意不是排名最高的
重启编辑器
打开调试面板 VSCode->查看->调试
添加调试目标 在"没有调试"的下拉框中点击"添加配置.."
添加目标调试配置
例子:
{ "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "go", "request": "launch", "mode": "debug", "remotePath": "", "port": 2345, "host": "127.0.0.1", "program": "${fileDirname}", "env": { "GOPATH":"D:/Develop/vscodegolang" }, "args": [], "showLog": true } ] }
其中: "port", "host"都是go插件自动生成的
"env"为设置环境变量, 设置为你的工程目录就可以(包含bin, src的文件夹)
此时找到main.go按F5, 会报错提示:
Failded to continue:"Cannot find Delve debugger. Install from https://github.com/derekparker/delve & ensure it is in your "GOPATH/bin" or "PATH"
我们使用go命令行编译调试器
go get github.com/derekparker/delve/cmd/dlv
将dlv调试器放在GOPATH(工程目录)的bin目录下
选中要调试的main.go, 点击F5, 既可以开始调试
调试快捷键和Visual Studio系一致
F9 切换断点
F10 Step over
F11 Step in
Shift+F11 Step out
注意点
某些结构体成员无法直接显示时, 可以直接选中变量名, 添加到监视, 或者右键点击: "调试:求值"
在launch.json中可以添加多组调试入口, 通过调试面板中选中对应的配置开启不同目标的调试
{ "version": "0.2.0", "configurations": [ { "name": "client", "type": "go", "request": "launch", "mode": "debug", "remotePath": "", "port": 2345, "host": "127.0.0.1", "program": "${fileDirname}", "env": { "GOPATH":"D:/Develop/vscodegolang" }, "args": [], "showLog": true }, { "name": "server", "type": "go", "request": "launch", "mode": "debug", "remotePath": "", "port": 2345, "host": "127.0.0.1", "program": "${workspaceRoot}/src/server", "env": { "GOPATH":"D:/Develop/vscodegolang" }, "args": [], "showLog": true } ] }
"program"中的"${fileDirname}"是以当前选中文件作为启动点
看完了这篇文章,相信你对“VSCode中调试Golang工程的方法”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!