本篇文章给大家介绍一下使用vscode调试golang工程的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
推荐学习:《vscode教程》
关键字最简单的调试攻略多项目调试, 适用个人开发和项目开发无需修改系统环境变量准备vscode在官网下载最新版的vscode:
visual studio code - code editing. redefined**
安装golang插件打开扩展面板 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 overf11 step inshift+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}是以当前选中文件作为启动点
更建议使用program的${workspaceroot}, 以包名作为启动点的方式进行配置
更多编程相关知识,请访问:编程视频!!
以上就是详解vscode中如何调试golang工程的详细内容。