在XCode中调试“终止未捕获的异常”

时间:2009-03-28 22:25:43

标签: objective-c xcode debugging

所以我的应用程序崩溃了,我对如何使用XCode进行调试感到很茫然。

我在macforums上发现了一个关于在“objc_exception_throw”放置断点的论坛......虽然我不确定从哪里开始。

XCode中调试的一般指导原则?

1 个答案:

答案 0 :(得分:3)

当程序崩溃时,它将转储堆栈跟踪。您应该能够找到导致崩溃的线。然后在几行之前放一个断点并检查出来。

堆栈跟踪通常只包含数字。要获得人类可读的符号,您可以使用:

atos -o /Users/NNN/XXX/build/Debug-iphonesimulator/XXX.app/XXX [堆栈跟踪编号]

大多数崩溃是由于内存在被释放之前被释放。这通常是由于没有保留物体造成的。您可以使用retainCount方法打印任何对象的保留计数。

进入调试器后,您可以使用:

  

po someObject

打印有关对象的信息。或者获得保留计数:

  

print [someObject retainCount]