是否可以使用 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= 中指定的任何其他端口) ]旗帜。
我想知道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= 中指定的任何其他端口) ]旗帜。