Golang delve,如何启动调试器并启动正在调试的应用程序?

Wes*_*101 9 debugging go delve

我正在尝试设置一个可以远程连接的无头深度调试器。

我无法找到一种方法来启动调试服务器,而该服务器不会暂停我正在调试的应用程序。

我一直在使用,dlv attach --headless=true --listen=:2345 attach 32但这会暂停该过程。或者,如果这允许应用程序二进制文件运行,
我可以使用。dlv --headless=true --listen=:2345 exec app

不知道这个init文件能不能实现这样的功能?我找不到任何有关其实际情况的文档。

Von*_*onC 7

如果您考虑delve issues 145,这可能是一个功能,而不是一个错误:

我看不到在不暂停的情况下启动实际调试会话的价值,除非您只是依赖于提供文件init(以加载断点/跟踪点),然后想要立即继续执行,您可以通过在文件末尾init

trace您已经可以使用带有 pid 标志的子命令来设置跟踪点,而无需无限期地停止程序。


话虽如此,Delve 1.3.0(2019 年 8 月,2 年后):

go-delve/delve 问题 245已由PR 1585解决

cmd/dlv:添加--continue以在启动/附加时继续进程

添加、、和 的--continue选项以在启动时发出 a 。attachdebugexectracecontinue

此功能的主要用例是启动无头探索服务器(例如在容器内)