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

Is it possible to debug pre-build go executables with GoLand?

我想知道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 并创建一个新的 运行 配置连接到端口 2345 上的 localhost(或您在 delve 的 [=15= 中指定的任何其他端口) ]旗帜。