2016-04-06 4 views
1

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

+0

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. –

Antwort

1

Der einfachste Weg, dies zu tun, ist die Remote-debugserver starten nur mit dem Anschluss zu verbinden zu und keine anderen Argumente. In diesem Modus wird es vollständig von dem angeschlossenen Gerät gesteuert. Also dann nur tun:

(lldb) process attach --name procname --waitfor 

und das wird die Fern debugserver anweisen für diesen Prozess zu warten, um zu zeigen, und dann wird es ihm anhängen.

+0

Danke @Jim, bitte sehe meine Bearbeitung. – Elist