Отладка командной строки терминала приложений iOS Simulator?

Можно ли использовать GDB или LLDB из командной строки Terminal в Mac OS X для отладки приложений, запущенных на iOS Simulator? (например, не из графического интерфейса Xcode или консоли, а с помощью внешней командной строки или процесса). Если да, то как?

Ответы

Ответ 1

Вам нужно будет иметь приложение уже в симуляторе Springboard; вы не можете запустить приложение в симуляторе из Xcode, а затем ожидать, что у него появится экземпляр командной строки gdb.

Итак:

  • Запустите iOS Simulator, уже получив ваше приложение.
  • В окне терминала:
    % gdb
    ...
    (gdb) attach --waitfor 'Name Of Your App'
  • Запустите приложение с симулятора Springboard.
  • gdb должен присоединяться к процессу до выполнения main(). Таким образом, вы можете установить некоторые точки останова или что угодно. Тогда:
    (gdb) continue

Процедура для lldb аналогична:

    % lldb
    (lldb) process attach -n 'Name Of Your App' --waitfor
    <launch your app in the simulator>
    (lldb) continue

Я не уверен, зачем вам это нужно или нужно это делать, но, как старый парень gdb (и dbx), я могу это оценить.: -)