0

我正在尝试调试这个项目

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

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

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

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

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

4

2 回答 2

1

您正在使用该.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
}

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

在此处输入图像描述

于 2018-08-07T17:53:21.080 回答
0

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

go build -gcflags="all=-N -l"
于 2020-07-22T21:01:13.510 回答