我正在尝试设置一个可以远程连接的无头深度调试器。
我无法找到一种方法来启动调试服务器,而该服务器不会暂停我正在调试的应用程序。
我一直在使用dlv attach --headless=true --listen=:2345 attach 32
但这会暂停该过程。
或者我可以使用dlv --headless=true --listen=:2345 exec app
如果这允许应用程序二进制文件运行。
我不知道是否init
文件可以做这样的事情吗?我找不到任何有关其实际情况的文档。
如果你考虑深入研究第 145 期 https://github.com/derekparker/delve/issues/245,这可能是一个功能,而不是一个错误:
我看不到在不暂停的情况下启动实际调试会话的价值,除非您只是简单地依赖于提供init
文件(加载断点/跟踪点),然后想要立即继续执行,您可以通过在文件末尾写入 continue 命令来完成init
file.
您已经可以设置跟踪点,而无需无限期地停止程序trace
子命令,它带有 pid 标志。
话虽这么说,与深入研究1.3.0 https://github.com/go-delve/delve/blob/master/CHANGELOG.md#130-2019-08-27(2019 年 8 月,2 年后):
深入研究/深入研究问题 245 https://github.com/go-delve/delve/issues/245解决的是PR 1585 https://github.com/go-delve/delve/pull/1585
cmd/dlv
: add --continue
继续启动/附加过程
Add --continue
选项attach
, debug
, exec
, and trace
,发出一个continue
开始时。
此功能的主要用例是启动无头探索服务器(例如在容器内)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)