Debugging IntelliJ IDEA go lang IDEA插件在Ubuntu下的Alpha调试

Debugging IntelliJ IDEA go lang IDEA插件在Ubuntu下的Alpha调试,debugging,ubuntu,intellij-idea,go,Debugging,Ubuntu,Intellij Idea,Go,我正在尝试使用IntelliJ Idea 14.0.2和当前的Go lang Idea插件alpha 0.9.16-dev-0.9.16-alpha.9调试Go 1.4。正如本文中提到的,这应该是可行的 该插件在运行“Hello world”时运行良好,但我的“调试”按钮变灰了。我已经将gdb更新到版本6.8.1,版本6.8和6.7.7也不起作用。这是我的调试配置: 我错过了什么?我需要一个特定的gdb版本,还是问题出在其他地方?还是因为我使用的是Go 1.4?解决方案是: 1) 转到“编辑配

我正在尝试使用IntelliJ Idea 14.0.2和当前的Go lang Idea插件alpha 0.9.16-dev-0.9.16-alpha.9调试Go 1.4。正如本文中提到的,这应该是可行的

该插件在运行“Hello world”时运行良好,但我的“调试”按钮变灰了。我已经将gdb更新到版本6.8.1,版本6.8和6.7.7也不起作用。这是我的调试配置:

我错过了什么?我需要一个特定的gdb版本,还是问题出在其他地方?还是因为我使用的是Go 1.4?

解决方案是:

1) 转到“编辑配置”=>“运行”

2) 取消选中“运行前生成”

3) 选中“运行前生成”

4) 选中“启用调试”(在两次切换“运行前生成”之前变灰)


所以这是一个奇怪的UI问题。

我不会花太多精力让基于
gdb
的调试正常工作。它可以在非常特殊的情况下提供帮助,但是在高度并发的代码中,
gdb
并不能提供很多帮助,特别是当控制流在goroutine之间传递时。感谢您的提示-有更好的调试方法吗?我刚刚开始学习,很难找到一个好的IDE,尤其是我被Visual Studio惯坏了,我用了很多年。一般来说,很少有工具可以调试高度并发的代码,而Go的本质使事情在默认情况下是并发的。明智地使用logging/printf通常是最好的工具。@JimB调试器很长一段时间以来都能很好地处理并发代码。Cursive是Clojure IDE,也是基于IntelliJ构建的,它有一个令人难以置信的调试器。不用说,Clojure是一种专门研究并发代码的语言,它得到的开发人员支持比Golang少得多。这不是一个不可能的问题-Go只是在这里滞后。我不认为这些选项存在于这个插件的较新版本中。