Некоторое время назад (я не могу точно вспомнить, какая версия) 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) с целью попытаться добраться до сути этой проблемы. Однако я не могу понять, что происходит не так. Я жил с этим до сих пор, как много ошибок, которые у меня были, я был знаком и знал, где искать в любом случае, но все же, это становится настоящей болью.
Может кто-нибудь пролить свет на эту проблему?