Удаленная отладка с использованием lldb/Xcode
У меня есть 2 станции, одна для разработки и еще одна для тестирования. Я хотел бы иметь возможность запускать и отлаживать цели, которые были созданы в режиме выпуска (код чередуется) на тестовой станции.
Так как код не может быть скопирован на тестовую станцию по соображениям безопасности, я пробовал удаленную отладку, как описано в следующей ссылке: http://lldb.llvm.org/remote.html.
Поскольку обе стороны отладки запускают OS X, в инструкциях по настройкам указывается, что моя локальная (разработка) станция должна запускать "lldb-server" вместе с "debugserver", а удаленная (тестирующая) сторона должна запускать "платформу".
К сожалению, я не смог найти все эти инструменты внутри пакета Xcode. Я также попытался загрузить исходный код lldb и сам создать исполняемый файл, но я все еще не вижу цель lldb-server.
Хотелось бы, чтобы у меня было четкое и всестороннее руководство о том, как правильно выполнять удаленное отладку lldb от A до Z.
Ответы
Ответ 1
-
Убедитесь, что Xcode установлен на обеих машинах. (Различные версии в порядке!)
-
На удаленном компьютере (запуск исполняемого файла):
- Запустите приложение, которое вы хотите отлаживать.
- Запустите debugserver, подключитесь к своему приложению и прослушайте подключения с другого Mac:
/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/Resources/debugserver development-mac.local:16000 --attach="Photo Booth"
-
На машине разработки:
- Запустите lldb, набрав
lldb
- Подключиться к серверу отладки:
process connect connect://test-mac.local:16000
На тестовой машине вы должны увидеть сообщение Waiting for debugger instructions for process 0
. Через некоторое время на вашей машине разработки появится сообщение (lldb)
, и вы можете начать отладку как обычно.
К сожалению, я не уверен, как подключиться к Xcode.
Ответ 2
Пожалуйста, дайте отзыв для Apple, чтобы обновить их документацию здесь → https://developer.apple.com/library/mac/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptDebugger/debug_tutorial.html
В то же время я получаю больше удовольствия, используя hopperapp с разборкой приложений. http://hopperapp.com/ Там есть бесплатная пробная версия - и у нее есть удаленный отладчик.