2012-03-15 2 views
71

У меня проблема. Устранение неполадок происходит очень редко и, похоже, не происходит, когда у меня есть вещи, запущенные под Xcode.Приложите отладчик в приложение IOS после запуска

Возможно ли запустить приложение обычно (т. Е. Из Springboard) до тех пор, пока не возникнет проблема, а затем прикрепите отладчик в этой точке?

Я бы предпочел сделать это без джейлбрейка, если это возможно.

ответ

95

С устройством, подключенным к вашему Mac, выберите Продукт -> Прикрепить к процессу -> Идентификатор процесса (PID) или Name ... в Xcode. В диалоговом окне введите имя своего приложения, как оно отображается в навигаторе отладки при запуске через Xcode.

Если приложение уже запущено, отладчик будет прикреплен к выполняемому процессу. Если он не запущен, он будет ждать запуска приложения и последующего подключения.

+0

Оле, спасибо за ответ. Я искал способ сделать это. Когда я иду подключать отладчик, он выглядит так, как будто он прикрепляется, но затем я получаю это сообщение: warning: Невозможно прочитать символы для/var/mobile/Applications/{GUID}/{APPNAME} .app/{APPNAME} (файл не найденный). Когда я нажимаю кнопку «Стоп» в XCode, приложение завершается. Похоже, что он не находит символы отладки, хотя он создается в режиме отладки. Есть идеи? – Brian

+2

У меня проблема с ** Если он не работает, он будет ждать запуска приложения и последующего присоединения. ** part. Это не работает. Я использую имя процесса для ожидания вызова приложения. Я запускаю приложение на iPhone, но отладчик никогда не понимает, что приложение запустилось. – Jonny

+1

@BrianV - вам нужно убедиться, что вы компилируете с помощью -ggdb, если хотите, чтобы вы могли подключиться к процессу. – itfische

47

В Xcode 5.0.1 и 6 он находится в

Debug > Attach to Process > By Process Identifier (PID) or Name... in Xcode 
+1

В Xcode 6 тоже. – Kevin

83

Я оставлю это здесь, так как ни одна из других 2 ответов дал мне вполне достаточно подробно, без немного борьбы.

  1. Запустите приложение в симуляторе и принять к сведению имя в Debug навигатора enter image description here

  2. Штекер в устройстве и не забудьте выбрать устройство в качестве мишени enter image description here

  3. Отладка> Привязать к процессу> Идентификатором процесса (PID) или именем enter image description here
  4. Введите имя с шага 1 и приложите. Это должно быть все, что вам нужно. enter image description here
+2

У вас должно быть 1000 upvotes. Отладка вещей, которые начинаются с схемы URL-адреса, может быть болью в заднице без этого опрятного трюка. Большое спасибо! – txulu

+0

Мне жаль, что я не увидел этот ответ, прежде чем потратил 20 минут на то, чтобы понять это самостоятельно :( –

+4

Это работает в том, что он придает процессу, но я не вижу возможности получить какой-либо вывод журнала, который мне действительно нужен. идеи? – Orlando

5

В XCode 7 это просто: Debug> Присоединить к процессу по PID или имя

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