Ich weiß, wie man wartet und an einen lokalen Prozess anhängen (process attach --name procname --waitfor
).
Ich weiß auch, wie Sie eine Fernbedienung debugserver
ausführen und eine Verbindung herstellen.Remote-Debugging mit lldb - warten auf Prozess
Aber wie kann ich warten, bis ein Prozess auf einem Remote-Host gestartet und angehängt wird?
EDIT
Ich habe @Jim's suggestion versucht, und es scheint, wie der Debug-Server tatsächlich ist versucht zu befestigen, aber scheitern.
Ich akzeptiere seine Antwort, weil es korrekt ist, aber ich werde glücklich sein zu wissen, warum ich den Prozess nicht wirklich debuggen kann.
FYI Ich versuche, MDDM (mdm Daemon Service) auf einem JB iPhone debuggen. Der Prozess wird für einige Sekunden gestartet, um mit dem mdm-Server zu kommunizieren, und stirbt dann. Diese
ist von dem Ziel des Terminal:
~ 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.
Und das ist aus LLDB suchen:
(lldb) process connect connect://localhost:1234
(lldb) process attach --name mdmd --waitfor
error: attach failed: unable to attach
Normalerweise markieren Daemons sich selbst nicht debuggable, so dass ich auf jedem aktuellen Darwin-basierten System erwarten würde, dass der Anhang verweigert wird. Zum Beispiel, wenn Sie dies unter OS X versucht hätten, würden Sie als root den gleichen Fehler bekommen. Aber ich habe keine Erfahrung mit gefängnisgeschädigten Geräten. –