码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发异常处理教程

时间:2014-09-22 19:01:42      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:des   http   io   os   ar   sp   art   on   c   

以下是两篇xcode开发如何处理异常的教程,建议一读

梗概如下:

基本上你能碰到两种崩溃的情况:SIGABRT (也叫EXC_CRASH),和EXC_BAD_ACCESS (也可能叫SIGBUSSIGSEGV)。

SIGABRT是程序异常,容易定位,EXC_BAD_ACCESS通常直接就把断点断在了main处,有一定的技巧来寻找原因(比如启用Zombie Objects)。

文章介绍了如何读控制台的错误日志,介绍了异常断点(Exception Breakpoint)、LLDB(GDB)、僵尸对象(Zombie Objects)等。

即便没耐心看完全文,文后也有一个简短的总结:

  • 如果程序崩溃在main.m,可以考虑设置一个异常断点
  • 如果仍然没有得到有用的信息,可以在LLDB键入po $eax命令(扩展:po [$eax class],po [$eax name]po [$eax reason]),等于于po [$eax description]
  • 如果得到EXC_BAD_ACCESS错误,可以启用Zombie Objects再测试一遍,检查是否引用到了已被释放的对象
  • 很多情况下异常由遗漏的或错误的代码与设计器(story或xib)的连接,这些异常通常不会在编译期发现而且不容易被检查代码时人眼发现
  • 尽量把警告当错误,很多情况下错误也来自于编译期的“警告”。如果你不明白警告是怎么发生的,就尽量研究清楚
  • 模拟器环境与真机是不同的,尽量连不同的真机debug

iOS开发异常处理教程

标签:des   http   io   os   ar   sp   art   on   c   

原文地址:http://www.cnblogs.com/walkerwang/p/3986042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!