我知道如何等待并附加到本地进程(process attach --name procname --waitfor
)。
我也知道如何运行远程debugserver
并连接到它。用lldb远程调试 - 等待进程
但我该如何等待进程在远程主机上启动并连接到它?
编辑
我已经试过@Jim's suggestion,而且好像调试服务器实际上是试图附加但失败。
我接受他的回答,因为它是正确的,但我会很乐意知道为什么我不能真正调试过程。
仅供参考我试图在JB iPhone上调试mdmd(mdm守护进程服务)。该过程启动几秒钟与mdm服务器通信,然后死亡。
这是从目标的终端:
~ root# debugserver *:1234
debugserver-310.2 for arm64.
Listening to port 1234 for a connection from *...
Got a connection, waiting for process information for launching or attaching.
Attach succeeded, ready to debug.
Exiting.
这是从LLDB的:
(lldb) process connect connect://localhost:1234
(lldb) process attach --name mdmd --waitfor
error: attach failed: unable to attach
通常守护进程标记自己不可调试,所以在任何最近的基于达尔文的系统上,我都会期待attach被拒绝。例如,如果你曾试图在OS X上执行此操作,即使以root身份执行操作,也会得到相同的错误。但我对监狱破碎的设备没有任何经验。 –