Debugging 如何在GoLand中设置调试?

Debugging 如何在GoLand中设置调试?,debugging,go,ide,goland,Debugging,Go,Ide,Goland,我正在尝试,听说调试器应该很棒,但是我找不到任何文档来解释如何设置它(GoLand处于预览阶段,所以这并不奇怪)。我的用例:我正在编写一个RESTAPI,使用curl向其发送请求。有人能一步一步地告诉我如何开始调试程序吗 [编辑1](从注释中移动)当我单击运行/调试(或运行/运行)时,将显示一个窗口,要求我编辑配置。我有多种配置可供选择,我尝试选择“Go application”,但调试按钮从未变灰,我无法使其成为可点击的。我对GoLand很陌生,我可能遗漏了一些明显的东西,但我找不到遗漏的任何

我正在尝试,听说调试器应该很棒,但是我找不到任何文档来解释如何设置它(GoLand处于预览阶段,所以这并不奇怪)。我的用例:我正在编写一个RESTAPI,使用curl向其发送请求。有人能一步一步地告诉我如何开始调试程序吗

[编辑1](从注释中移动)当我单击运行/调试(或运行/运行)时,将显示一个窗口,要求我编辑配置。我有多种配置可供选择,我尝试选择“Go application”,但调试按钮从未变灰,我无法使其成为可点击的。我对GoLand很陌生,我可能遗漏了一些明显的东西,但我找不到遗漏的任何设置

[编辑2]我的工作区不符合Go规范:我的代码不在名为src的目录中。既然如此,我可以单击Run/Debug,GoLand似乎做了正确的事情,除了它不会在断点处停止或以其他方式表现为调试器,我的代码只是运行

[edit 3]再试一次,效果良好。某种程度上。我不知道为什么它现在起作用,即使它以前没有,我也没有改变任何东西。现在断点可以在某些行上工作,而不能在其他行上工作。或者调试器在断点处停止,但我会一直等待加载变量列表。嗯,这毕竟是一个预览

[编辑4]我今天刚接到通知,新版本的GoLand已经上市。我升级了,现在调试工作正常。

我右键单击project(main.go-inside)并选择“调试…”,调试工作正常


如果代码不在
src
中,GoLand将不会启用调试操作(尽管run可用)。没有关于这一点的警告,所以解决这一问题可能真的很痛苦

此外,根据项目的结构,调试可能仍然不起作用。在这种情况下,删除所有运行配置并创建新配置可能会有所帮助。对于这种行为有一个很好的解释


PS:虽然OP在编辑问题时提到了第一部分,但它认为在回答问题时值得一提。

我确实遇到了这个问题


已删除并重新创建调试运行配置。调试工作很好。

我也面临同样的问题,我通过使用“Go应用程序”配置(在“运行/调试配置”窗口)而不是“Go单一文件”配置来解决

因此,转到Gogland的右上角并“编辑配置”

然后,使用“Go应用程序”配置文件添加新配置

保存后,您应该能够调试代码。o/

启用此配置的一个简单方法是使用@user1793301方法,右键单击要运行的文件并选择“Debug'go run.go'”


可能的解释 注意:我没有查看任何关于它的详细信息

事实:“Go应用程序”配置在运行二进制可执行文件之前会生成该文件

事实:从控制台输出(Goglang内部)可以看出IDE使用as调试工具

事实:我在上找到了一个
dlv调试
,它似乎在编译和调试代码


假设:喷气式飞机公司的人没有实施这一假设。或者至少还没有,

自从@Jamillo Santos添加了他的回复后,goland的情况发生了变化

首先,没有更多的“Go应用程序”

最简单的方法是找到包含main()函数的文件。 应该有一个小三角形指向它,如所附的屏幕截图所示:

单击绿色小三角形时,会出现一个包含运行/调试选项的菜单。 每个将创建一个
go-build
配置

您可以编辑该
go build
配置,并为应用程序添加程序参数。 例如,如果程序的命令行参数为
--arg=value
,则可以这样添加:

在2019.1.1版上,不再有Go应用程序。改用GoBuild。这里我调试一个脚本文件,但如果您有服务器应用程序或smth,只需指向主应用程序文件:

请注意,在文件字段中,必须指定实际的文件路径。通过使用管道将文件分隔开来,可以放置更多文件(如果希望有更多的起点)。对于要调试的每个文件,需要指定完整路径


同样,如果您正在调试一个只有一个起点的服务器应用程序或其他程序,则只需要配置中指定的启动文件。:)

调试器看起来“正常工作”。你有什么问题?@zoyd很抱歉你在调试方面有问题。您能分享更多关于您的项目/设置的详细信息吗?您正在运行的操作系统是什么?是哪个Go版本?如果这个项目是开源的,那么链接到它会很好。此外,有一种方法可以重现这种情况也会有所帮助。此外,Gogland使用引擎盖下的Delve作为调试后端,根据您的Go版本,可能会出现问题。设置Go结构对于Gogland的新手来说是一个很好的信息。我可以运行,但还不能调试。我收到这样一条消息:运行Build hello.go and run时出错:找不到Build hello.go and runJust的运行程序更新到6月9日的版本:Gogland中的调试器只是一个笑话。我知道这是早期版本,但说真的,伙计们。。。甚至Hello Word也会失败。这并不能解释为什么“Debug…”可能不可用。我继承了一个项目,其顶部文件夹中有main.go,而不是src。也有同样的问题,右键点击就可以了。这是我在qu中看到的最空洞和毫无意义的要求之一