Удаленная отладка с использованием 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/ Там есть бесплатная пробная версия - и у нее есть удаленный отладчик.