2011-11-09 57 views
2

有一段时间了(我不记得确切的版本)Xcode 4没有正常工作。在,只要我的代码崩溃调试器只显示我的main()函数,有一个堆栈跟踪这样的:Xcode 4堆栈跟踪调试问题

#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中的对象),试图找到这个问题的底部。但是,我无法弄清楚发生了什么问题。我已经和它一起生活了,因为我已经熟悉了许多错误,并且知道在哪里看,但仍然会变成真正的痛苦。

任何人都可以请解释一下这个问题?

回答

0

您可能想要在发生异常时停止在代码中的位置,而不是当它已经冒泡到主方法时。为此,请按照此处所述设置异常断点:Exception Breakpoint in Xcode

+0

感谢您的及时响应,现在我可以完成我的调试。 ;-) –

+0

虽然它可能不会帮助你,它可能会帮助下一个发现这个问题。 ;-) –