24

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

[编辑 1](移自评论)当我单击运行/调试(或运行/运行)时,会显示一个窗口,要求我编辑配置。我可以选择几种配置,我尝试选择“Go application”,但 Debug 按钮永远不会变灰,我无法让它变得可点击。我对 GoLand 很陌生,我可能遗漏了一些明显的东西,但我找不到任何设置丢失。

[编辑 2] 原来我的工作空间不符合 Go 规范:我的代码不在名为 src 的目录中。现在是这种情况,我可以单击运行/调试,GoLand 似乎在做正确的事情,除了它不会在断点处停止或表现得像调试器,我的代码只是运行。

[编辑 3] 再次尝试,它的工作原理。有点。我不知道为什么它现在可以工作,即使它以前没有,我也没有改变任何东西。现在断点在某些行起作用,而在其他行不起作用。或者调试器在断点处停止,但我永远等待要加载的变量列表。嗯,毕竟是预览……

[编辑 4] 就在今天,我收到通知说有新版本的 GoLand 可用。我升级了,调试现在对我来说效果很好。

4

6 回答 6

12

如果您的代码不在src. 没有关于这个的警告,所以解决这个问题可能真的很痛苦。

此外,根据您的项目结构,调试可能仍然无法正常工作。在这种情况下,删除所有运行配置并创建一个新配置可能会有所帮助。有一个关于此行为的错误报告。

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

于 2017-03-11T08:03:55.820 回答
6

我遇到了同样的问题,我通过使用“Go Application”配置(在“运行/调试配置”窗口)而不是“Go Single File”配置解决了这个问题。

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

打开运行/调试配置

然后,使用“Go Application”配置文件添加新配置。

运行/调试配置窗口

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

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


可能的解释

注意:我没有查看有关它的任何进一步细节。

事实:“Go Application”配置确实在运行之前构建了二进制可执行文件。

事实:我可以看到控制台输出(在 Goglang 内部)是 IDE 使用DLV作为调试工具。

事实:我dlv debugDLV 文档中找到了一个,它似乎可以编译和调试代码。

假设:Jetbrains 的人没有实现它。或者至少还没有

于 2017-08-08T20:08:53.260 回答
5

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

首先,不再有“Go Application”。

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

当您单击绿色小三角形时,您会看到一个带有运行/调试选项的菜单。每个都将创建一个go build配置。

您可以编辑该go build配置并为您的应用程序添加程序参数。例如,如果您的程序有一个命令行参数,--arg=value您可以像这样添加它: 在此处输入图像描述

于 2018-12-19T14:38:58.493 回答
4

在版本2019.1.1上没有更多的Go Application。改用Go Build。这里我调试的是单个脚本文件,但如果你有一个服务器应用程序或其他东西,只需指向主应用程序文件:

在此处输入图像描述

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

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

于 2019-05-13T21:07:34.070 回答
1

我有这个确切的问题。

删除并重新创建了调试运行配置。然后调试完美。

于 2017-04-02T11:28:50.410 回答
-1

我右键单击项目(main.go inside)并选择“Debug ...”它工作

于 2017-02-03T15:19:54.257 回答