是否可以从Visual Studio Code调试go revel框架?

时间:2017-06-16 12:58:59

标签: go visual-studio-code revel

我试图使用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"?

1 个答案:

答案 0 :(得分:5)

是的,这是可能的。

  1. 假设GOPATHC:\Work\golang
  2. Revel项目名称为myapp,因此项目(工作区)的位置为C:\Work\golang\src\myapp
  3. 对控制器等进行一些更改......
  4. 使用revel run myapp运行应用程序,然后按CTRL+C退出。此步骤是生成相应的go文件所必需的。生成的文件即main包将在${workspaceRoot}/app/tmp/main.go
  5. 下提供
  6. 按如下方式配置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"]
            }
        ]
    }
    
  7. 重要部分是programargs参数,而其他参数未经修改。

  8. 设置breakpoint并启动delve调试程序...

  9. Debug revel application

    编辑:

    1. args参数设置为["-importPath", "myapp", "-srcPath", "${workspaceRoot}/..", "-runMode", "dev"]也可以,我认为这也适用于其他平台(Mac,Linux)。
    2. 错误消息与delve问题有关。请参阅https://github.com/Microsoft/vscode-go/issues/986