[英]GoLang debug console application
我正在尝试调试这个项目
我正在使用 Visual Studio 代码,并且有 Go 扩展设置。 我可以在主 function 中设置断点并对其进行调试,但我从未看到可视命令提示符。 我使用了 Delve,运行了项目生成的 exe,并附加了它。 这允许我调试它,但我更愿意在 vscode 中调试它。
我尝试使用此 vscode 调试配置:
{
"name": "Launch file",
"type": "go",
"request": "attach",
"mode": "exec",
"program": "${workspaceFolder}/lazygit.exe"
},
它是成功的。 但同样,我看不到实际命令 window 并实际使用该项目。
有什么方法可以附加到 vscode 中已经打开的进程,比如在 delve 中,或者让 vscode 在命令 window 中启动 exe?
您正在使用.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
}
调试控制台将显示调试和标准输出的输出:
确保在go build
命令中禁用编译器优化。 它应该是这样的:
go build -gcflags="all=-N -l"
我在尝试调试在终端中生成某种 UI 的应用程序时遇到了类似的问题。 我设法得到这样的效果,从VSCode启动调试器后,程序编译并在单独的控制台中运行,允许我测试 UI 渲染和 IO 操作。 我的lanuch.json
看起来像这样:
"version": "0.2.0",
"configurations": [
{
// Other not related properties...
"request": "launch",
"mode": "debug",
"console": "externalTerminal" // The important one
}
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.