GoLang调试控制台应用程序

时间:2018-08-07 17:47:21

标签: git go visual-studio-code delve

我正在尝试调试this project

我正在使用Visual Studio代码,并具有Go扩展程序设置。 我可以在主函数中设置一个断点并对其进行调试,但是我从未看到可视化的命令提示符。我使用了Delve,运行了该项目生成的exe,并附加了它。这允许我对其进行调试,但是我更愿意在vscode中对其进行调试。

我尝试使用此vscode调试配置:

    {
        "name": "Launch file",
        "type": "go",
        "request": "attach",
        "mode": "exec",
        "program": "${workspaceFolder}/lazygit.exe"
    },

成功。但是同样,我看不到实际的命令窗口并不能实际使用项目。

有什么方法可以附加到vscode中已经打开的进程中,例如在delve中,还是可以让vscode在命令窗口中启动exe?

2 个答案:

答案 0 :(得分:0)

您正在使用.exe文件调试代码。使用原始代码拒绝应用程序。还有一个调试控制台,您可以在其中使用断点进行调试或出现任何错误时看到输出。 launch.json的配置应为:

{
    "name": "Launch",
    "type": "go",
    "request": "launch",
    "mode": "debug",
    "remotePath": "",
    "port": 2345,
    "host": "127.0.0.1",
    "program": "${workspaceFolder}",
    "env": {},
    "args": [],
    "showLog": true
}

调试控制台将显示调试和stdout的输出:

enter image description here

答案 1 :(得分:0)

确保在go build命令中禁用编译器优化。应该是这样的:

go build -gcflags="all=-N -l"