是否可以使用GoLand调试预构建的go可执行文件?

问题描述

我想知道GoLand是否可以使用dlv exec命令进行调试。

之所以需要它,是因为我们使用CGO进行了复杂的构建过程,并且不可能创建有效的运行配置。

也许附加到流程可能有效,但这似乎不是一个很好的解决方案。

VSCode与dlv exec集成良好,但是IDE的运行速度太慢且有错误,我希望我们可以使用GoLand。

有人找到解决方案了吗?

谢谢。

解决方法

您可以使用与debugging a remote process中相同的步骤。

这些步骤是:

  • 使用go build -gcflags="all=-N -l" -o myApp和CGO / etc可能需要的任何其他标志来构建二进制文件。
  • 使用dlv --listen=:2345 --headless=true --api-version=2 exec ./myApp
  • 运行二进制文件
  • 转到Run | Edit Configurations | + | Go Remote 并创建一个新的运行配置,该配置在端口localhost(或在delve的2345标志中指定的任何其他端口)上连接到--listen

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...