以下是两篇xcode开发如何处理异常的教程,建议一读
梗概如下:
基本上你能碰到两种崩溃的情况:SIGABRT (也叫EXC_CRASH),和EXC_BAD_ACCESS (也可能叫SIGBUS或SIGSEGV)。
SIGABRT是程序异常,容易定位,EXC_BAD_ACCESS通常直接就把断点断在了main处,有一定的技巧来寻找原因(比如启用Zombie Objects)。
文章介绍了如何读控制台的错误日志,介绍了异常断点(Exception Breakpoint)、LLDB(GDB)、僵尸对象(Zombie Objects)等。
即便没耐心看完全文,文后也有一个简短的总结:
po $eax命令(扩展:po [$eax class],po [$eax name], po [$eax reason]),等于于po [$eax description]EXC_BAD_ACCESS错误,可以启用Zombie Objects再测试一遍,检查是否引用到了已被释放的对象原文:http://www.cnblogs.com/walkerwang/p/3986042.html