我试图使用visual studio调试一个devel应用程序,但我无法让它工作。
我已经看到了这个问题how to debug revel framework(golang) application in 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": "~/code/go/bin/revel",
"env": {},
"args": [],
"showLog": true
}
]
}

但我收到此错误:
Failed to continue: "The program attribute must point to valid directory, .go file or executable."
我认为它必须是反叛二进制文件才能在这里运行,但我不知道如何通过应用程序路径,如果它进入" args"?
答案 0 :(得分:5)
是的,这是可能的。
GOPATH
为C:\Work\golang
myapp
,因此项目(工作区)的位置为C:\Work\golang\src\myapp
。 revel run myapp
运行应用程序,然后按CTRL+C
退出。此步骤是生成相应的go文件所必需的。生成的文件即main
包将在${workspaceRoot}/app/tmp/main.go
按如下方式配置launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"env": {},
"showLog": true,
"program": "${workspaceRoot}/app/tmp/",
"args": ["-importPath", "myapp", "-srcPath", "c:\\work\\golang\\src", "-runMode", "dev"]
}
]
}
重要部分是program
和args
参数,而其他参数未经修改。
设置breakpoint
并启动delve
调试程序...
args
参数设置为["-importPath", "myapp", "-srcPath", "${workspaceRoot}/..", "-runMode", "dev"]
也可以,我认为这也适用于其他平台(Mac,Linux)。 delve
问题有关。请参阅https://github.com/Microsoft/vscode-go/issues/986