Проблема отладки трассировки стека Xcode 4 - PullRequest
2 голосов
/ 09 ноября 2011

Некоторое время назад (я не могу точно вспомнить, какая версия) Xcode 4 не работал должным образом. В этом случае, когда мой код дает сбой, отладчик просто показывает мне функцию main (), и возникает трассировка стека:

#0  0x9018b9c6 in __pthread_kill ()
#1  0x90105f78 in pthread_kill ()
#2  0x900f6bdd in abort ()
#3  0x03c93e78 in dyld_stub__Unwind_DeleteException ()
#4  0x03c9189e in default_terminate() ()
#5  0x0154df4b in _objc_terminate ()
#6  0x03c918de in safe_handler_caller(void (*)()) ()
#7  0x03c91946 in __cxa_bad_typeid ()
#8  0x03c92b3e in __cxa_current_exception_type ()
#9  0x0154de49 in objc_exception_rethrow ()
#10 0x012f2e10 in CFRunLoopRunSpecific ()
#11 0x012f2ccb in CFRunLoopRunInMode ()
#12 0x012a5879 in GSEventRunModal ()
#13 0x012a593e in GSEventRun ()
#14 0x00013a9b in UIApplicationMain ()
#15 0x00002a02 in main at /Users/dan/Dev/Container/Container/main.m:16

В консоли я получаю более значимую информацию, в данном случае она говорит мне:

2011-11-09 10:39:53.886 Container[27273:f803] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds for empty array'

В этом примере я знаю, в чем проблема, потому что я сделал ошибку (я пытаюсь получить доступ к объекту в пустом массиве NSArray) с целью попытаться добраться до сути этой проблемы. Однако я не могу понять, что происходит не так. Я жил с этим до сих пор, как много ошибок, которые у меня были, я был знаком и знал, где искать в любом случае, но все же, это становится настоящей болью.

Может кто-нибудь пролить свет на эту проблему?

1 Ответ

0 голосов
/ 04 марта 2015

Возможно, вы захотите остановиться в той точке кода, когда действительно происходит исключение, а не тогда, когда оно было передано в ваш основной метод. Чтобы сделать это, установите точку останова исключения, как объяснено здесь: Точка останова исключения в Xcode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...