VS Code 调试 Golang 出现 Failed to continue: Check the debug console for details
单抽律化娜 · · 3345 次点击 · · 开始浏览如图所示,VS Code断点调试Golang时候,弹出提示
点击Open launch.json,在env里面添加go.gopath路径
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {
"go.gopath": "自己的路径" // 打开终端,输入命令 go env 可以查看GOPATH路径
},
"args": []
}
]
}
查看自己Golang项目的工作目录,就是整个项目所在目录的,如我的项目结构如下图所示:
再把program的值修改为以下
"program": "${workspaceRoot}/src"
为何把program的值从${fileDirname}改为${workspaceRoot}/src, 原因是:
1、VS Code会根据program所描述的路径来运行go文件;
2、一个项目只能有一个main函数,打断点的地方不一定是main.go文件;
总的来说,如果program的值为${fileDirname},我点击Tool.go文件,再点击调试按钮,那么VS Code就会运行Tool文件夹下所有go文件,fileDirname从字面意义就能得知是文件所在的文件夹名字,Tool.go文件所在文件夹名字就是Tool,${fileDirname}现在就是指运行Tool文件夹内所有go 文件,但是我main函数在main.go里面,而main.go在src文件夹里面,所以调试是不可能运行起来的,一样会弹出Failed to continue: Check the debug console for details.提示,(当然,如果你不嫌麻烦,先点击main.go再点击调试按钮,也能跑起来) 而把${fileDirname}替换为${workspaceRoot},并且加上工程所在目录,就是指我运行的是src文件夹下所有go文件,这样main.go文件也会执行到,就不会像之前一样,点击其他go文件,运行就出错
还有一点就是进行调试时候,输出的信息是在底部的DEBUG CONSOLE里面的打印,而不是我们正常的OUTPUT里面打印
有疑问加站长微信联系(非本文作者)
本文来自:简书
感谢作者:单抽律化娜
查看原文:VS Code 调试 Golang 出现 Failed to continue: Check the debug console for details
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
如图所示,VS Code断点调试Golang时候,弹出提示
点击Open launch.json,在env里面添加go.gopath路径
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}",
"env": {
"go.gopath": "自己的路径" // 打开终端,输入命令 go env 可以查看GOPATH路径
},
"args": []
}
]
}
查看自己Golang项目的工作目录,就是整个项目所在目录的,如我的项目结构如下图所示:
再把program的值修改为以下
"program": "${workspaceRoot}/src"
为何把program的值从${fileDirname}改为${workspaceRoot}/src, 原因是:
1、VS Code会根据program所描述的路径来运行go文件;
2、一个项目只能有一个main函数,打断点的地方不一定是main.go文件;
总的来说,如果program的值为${fileDirname},我点击Tool.go文件,再点击调试按钮,那么VS Code就会运行Tool文件夹下所有go文件,fileDirname从字面意义就能得知是文件所在的文件夹名字,Tool.go文件所在文件夹名字就是Tool,${fileDirname}现在就是指运行Tool文件夹内所有go 文件,但是我main函数在main.go里面,而main.go在src文件夹里面,所以调试是不可能运行起来的,一样会弹出Failed to continue: Check the debug console for details.提示,(当然,如果你不嫌麻烦,先点击main.go再点击调试按钮,也能跑起来) 而把${fileDirname}替换为${workspaceRoot},并且加上工程所在目录,就是指我运行的是src文件夹下所有go文件,这样main.go文件也会执行到,就不会像之前一样,点击其他go文件,运行就出错
还有一点就是进行调试时候,输出的信息是在底部的DEBUG CONSOLE里面的打印,而不是我们正常的OUTPUT里面打印