在macOS上使用Goland调试时,我的程序等待来自stdin的输入。
我可以在控制台中输入内容,然后按Enter键,但是输入内容不会传递给我的程序。
就像在文本编辑器中输入一样。我可以键入,按Enter键,删除我刚做的所有事情。我的程序没有将此传递给它。
在从控制台使用dlv进行调试时,也会出现这种情况,但是,我发现了在这种情况下如何解决该问题的讨论:
https://github.com/go-delve/delve/issues/1274#issuecomment-406969034
我也看到了类似的vscode修复程序:
https://github.com/Microsoft/vscode-go/issues/219#issuecomment-192164367
但是我找不到goland的解决方案。
答案 0 :(得分:3)
这是一个已知问题,有关此问题,请参见官方issue tracker report。
其解决方法是使用正确的调试标志编译应用程序,对于Go 1.9或更早版本,-gcflags="all=-N -l" for Go 1.10 or newer and
-gcflags =“-N -l”),在OS终端中启动应用程序,然后使用Attach to process...
功能。您还可以查看链接的问题,以查看其他可能的解决方法。