问题描述
我想知道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
。