2016-04-06 4 views
1

Я знаю, как подождать и подключиться к локальному процессу (process attach --name procname --waitfor).
Я также знаю, как запустить удаленный debugserver и подключиться к нему.Удаленная отладка с lldb - ожидание процесса

Но как я могу дождаться, когда процесс начнется на удаленном хосте и подключится к нему?

EDIT

Я попытался @Jim's suggestion, и, похоже, сервер отладки на самом деле пытается прикрепить но неудачу.
Я принимаю его ответ, так как это правильно, но я буду рад узнать, почему я не могу отладить процесс.
FYI Я пытаюсь отладить mdmd (mdm daemon service) на iPhone JB. Процесс запускается на несколько секунд для связи с сервером 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

+0

Обычно демоны сами по себе не отлаживаются, поэтому в любой недавней системе на основе darwin я ожидал бы, что приложению будет отказано. Например, если вы попытались сделать это на OS X, даже с правами root вы получите ту же ошибку. Но у меня нет опыта работы с неупорядоченными устройствами. –

ответ

1

Самый простой способ сделать это, чтобы начать удаленный debugserver только порт для подключения и никаких других аргументов. В этом режиме он полностью управляется подключенным к нему lldb. Так что тогда просто сделать:

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

и инструктирует дистанционного debugserver ждать этого процесса, чтобы показать вверх, а затем он присоединит к нему.

+0

Спасибо @Jim, см. Мое редактирование. – Elist

Смежные вопросы