Как ловить еxception в Xcode 4.2 и получить наглядный stack call

Может быть вы, как и я, не заметили что теперь при креше программы в консоли не пишется бэктрейс, а пишется вот так странно: набор букв и цифр адресов объектов. Как говориться, дебаггер не смог сделать «symbolicate stack call».

Я сначала не обратил на это внимание, так как при тестировании было всего одно-два падения программы, и я точно знал, где оно произошло и почему. А затем озадачился этим вопросом. Оказалось, что для нас опять сделали как лучше, а мы и не заметили. Идем в наше закладку Breakpoints в Xcode и добавляем крестиком внизу новый брекпоинт. Там появился новый тип точки остонова — Exception Breakpoint, вот его и добавляем. В большинстве случаев, можете сразу жать Done и новый брекпоинт добавлен. Теперь, когда ваше приложение, например, выйдет за границы массива, то ваш приложение остановится точно на той строчке в дебаггере, на которой произошла проблема. Чтобы получить бэктрейс всего стека вызовов, как вы сюда попали, просто напишите в консоли bt, и вам вывалиться этот список. К тому же все ваши переменные в этот момент «живы» и может изучить проблемы, вызвавшую падение приложения.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s