VS Code 调试 Golang 出现 Failed to continue: Check the debug console for details
VS Code
断点调试Golang
时候,弹出提示:Failed to continue: Check the debug console for details
点击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": [] } ] }
再把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
里面打印