1

我正在尝试使用 Docker 和 Goland 调试 Go API。

我遵循了本教程,并且可以在调试 Go 应用程序时使其工作。

但是我的应用程序是一个 API,因此它会启动,并且我希望当我通过 Postman 发出请求时,我的 API 应该在断点处停止。

发生的事情是 API 没有响应,也没有被调用。

这是 Goland 应用程序日志:

API server listening at: [::]:40000
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /operations/:operation_id/keys --> main.displayKeysList (5 handlers)
[GIN-debug] HEAD   /operations/:operation_id/keys --> main.main.func1 (4 handlers)
[GIN-debug] Listening and serving HTTP on :9999

它告诉我我的应用程序正在端口 9999 上运行,但 delve 正在端口 40000 上运行。

我尝试了 9999 和 40000 两个端口,但它们都不能满足我的要求。

我错过了什么?

4

1 回答 1

3

您的应用程序仍在运行,需要打开并转发端口 9999 以向其发出请求。

Delve 使用端口 40000,您应该将 IDE 连接到远程服务,以允许它使用Go Remote运行配置启动/继续。

如果您对此仍有疑问,请在https://youtrack.jetbrains.com/issues/Go上提出问题并提供有关此问题的更多详细信息、截图或复制代码将非常棒,或者在Twitter 上联系我们/ #goland 频道中的Gophers Slack

于 2019-08-01T14:20:14.250 回答