Xcode 4堆栈跟踪调试问题

时间:2011-11-09 10:53:02

标签: xcode4

现在有一段时间(我记不清楚到哪个版本)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 :(得分:0)

您可能希望在实际发生异常时停止在代码中,而不是在它被冒泡到主方法时停止。为此,请按照此处说明设置异常断点:Exception Breakpoint in Xcode