2013-03-04 5 views
5

Когда я отлаживал приложение для iPhone, у меня была ошибка, и приложение получило ошибку. Я добавил точку прерывания исключения, но не указал, где в коде, и разбился в main.m.Как отслеживать точную проблему при сбое в iOS

Здесь я добавляю снимок экрана окна XCode, когда приложение разбилось.

enter image description here Как я могу найти точную проблему для аварии?

Возможно ли это? Пожалуйста помоги.

+0

У меня тоже были такие проблемы, но я все равно не мог найти точный вопрос. Я был бы признателен, если бы кто-нибудь мог указать на любой возможный путь здесь. :) – Mithun

+0

Если у вас есть коды в вашей программе, любезно покажите им. Так что soomeone может достичь точки ошибки. –

+0

Я испугался, что часть моего кода вызвала эту проблему, я случайно перемещался через разные венчурные капиталисты, внезапно у меня возникла эта проблема. А также, в окне отладки, он не упоминал никакого кода или функции. Что мне делать в этом случае? – Mithuzz

ответ

6

Включите Zoombie, чтобы получить описание ошибки в журнале.

Если вы редактируете схему, в которую хотите включить зомби (в меню «Продукт» выберите «Редактировать схему»), перейдите на сцену «Запустить Foo.app» на левой панели и «Аргументы "справа. Затем вы можете добавить NSZombieEnabled в раздел «Переменные среды» и установить значение «YES», как вы могли бы в Xcode 3.

В Xcode 4.1 и выше также есть флажок на вкладке «Диагностика» в «Запуск», этап «Включить объекты зомби».

+0

Спасибо, но я уже включил его. – Mithuzz

+0

Извините, на самом деле я забыл добавить второй вариант, теперь включил это тоже. Спасибо :) – Mithuzz

+0

Я изменил настройки, как вы упомянули и протестировали. Я снова столкнулся с проблемой сбоев, но это не показало мне никаких подробностей. – Mithuzz

3

Добавить Exception breakpoint, и отладчик остановится на линии, которая выйдет из строя.

+0

Я уже сделал это, это указывало на некоторые другие проблемы, но когда эта ошибка произошла, ничего не произошло. Можно ли найти проблему из окна Debug Navigator? – Mithuzz

6

нажмите на EditScheme в XCode. то экран будет отображаться, как показано ниже. нажмите «Включить объекты зомби». Будет отображаться ошибка в вашем журнале.

enter image description here

+0

Спасибо, на самом деле я забыл этот вариант там, включит его и повторю попытку. – Mithuzz

+0

Извините, я думаю, что Мельбурн сказал тот же ответ, прежде чем вы это сделали, поэтому я должен принять его ответ правильно? Не волнуйтесь, я дал вам Upvote, и я очень ценю вашу помощь с точным снимком экрана, это было очень легко понять. Спасибо :) – Mithuzz

+0

@ Mithuzz. Это не только для вас. Многие программисты попытаются понять правильный ответ. Экранный скриншот является более приемлемым ответом на этот вопрос. мы должны дать лучший маршрут новым программистам. – Suresh

1

Не уверен, но чтение регистров может помочь.

Сначала перейдите на вкладку «Исключения» и «Добавить точку останова исключения», используя + в левом нижнем углу. enter image description here

Затем, когда происходит сбой приложения нажмите на кнопку "0 objc_exception_throw" под тему 1 enter image description here

Наконец, в консоли введите:

  • регистр чтения (вы должны получить список регистров)
  • po $ rax (обычно исключение составляет «rax»)

    (вы должны увидеть выход исключений на консоли)

Надеюсь, это поможет.