iOS开发异常处理教程

以下是两篇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
时间: 2024-08-01 19:19:18

iOS开发异常处理教程的相关文章

iOS开发入门教程_iOS开发视频教程

iOS开发入门教程 (Object-C.网络编程.多线程.蓝牙.二维码.Cocos2D.OpenGL)适合人群:初级课时数量:34课时用到技术:IOS,Object-C,OpenGL,XCode,Cocos 2D涉及项目:Cocos+2D.Game Kit蓝牙数据处理等咨询QQ:1840215592 iOS开发入门教程详细查看:http://www.ibeifeng.com/goods-471.html1.1.课程目标iOS开发入门教程内容的目标是初学者入门,让入门者提高,让所有人符合企业招聘的

iOS开发入门教程

iOS开发入门教程 (Object-C.网络编程.多线程.蓝牙.二维码.Cocos2D.OpenGL)http://www.ibeifeng.com/goods-471.html咨询QQ2110053820课程讲师:群雄 课程分类:IOS适合人群:初级课时数量:34课时更新程度:完成用到技术:IOS,Object-C,OpenGL,XCode,Cocos 2D涉及项目:Cocos+2D.Game Kit蓝牙数据处理等 1.1.课程背景随着移动互联网时代的到来,iPhone作为智能手机旗舰版,iO

IOS开发入门教程-总结篇-写给狂热的编程爱好者们

程序发轻狂,代码阑珊,苹果开发安卓狂!——写给狂热的编程爱好者们 写在前面的话 学习iOS应用程序开发已有一段时间,最近稍微闲下来了,正好也想记录一下前阶段的整个学习过程.索性就从最基础的开始,一步一步记录一个最简单的 iOS应用从创建到运行的全过程,其中会穿插很多相关知识或是遇到过的问题.其实算不上教程,但希望能够帮助更多的开发爱好者更快.更好的入门. iOS开发环境简述 最友好,最现实,也是最方便的开发环境就是在Mac系统中安装Xcode进行开发.原因在于:第一,开发工具(Xcode)限制.

ios开发的教程以及视频在如何下载?

从基础入手才能根本上解决一些不必要的问题,所以学好C语言十分有必要,再者,从基础开发到各类APP再到iOS开发,C语言基础必须保证扎实,才能接收更新更前沿的开发技能. 很多人选择零基础学习iOS开发,但不知道如何学习更加省力,要知道,C语言是iOS的编程基础,打牢C语言基础至关重要,传智播客iOS培训机构作为行业最具权威的iOS开发和人才培训中心,是教育部教育信息管理中心认证的全国移动互联网开发人才实训基地,专业的教学培养大批高技能iOS开发者,传智播客注重基础教学,从C语言开发学习到进入下一阶

iOS开发终极教程索引

做iOS开发有3年之久了,各种项目,大小项目,独立抑或是合作,等等都有涉及,我比较懒,没有写很多高质量的文章. 简单总结下iOS开发涉及的知识和各种工具,帮助文档. iOS开发终极索引地址: https://github.com/Aufree/trip-to-iOS http://dev.swiftguide.cn/ http://objccn.io/ http://www.cocoachina.com/ https://github.com/ipader/SwiftGuide https://

iOS开发——Metal教程

Metal Swift教程 学习使用苹果GPU加速3D绘图的新API:Metal! 在iOS 8里,苹果发布了一个新的接口叫做Metal,它是一个支持GPU加速3D绘图的API. Metal和OpenGL ES相似,它也是一个底层API,负责和3D绘图硬件交互.它们之间的不同在于,Metal不是跨平台的.与之相反的,它设计的在苹果硬件上运行得极其高效,与OpenGL ES相比,它提供了更快的速度和更低的开销. 在这篇教程里,你将会获得亲身的经历,使用Metal和Swift来创建一个有基本脉络的应

IOS开发入门教程(一)

OC语法入门(一) 数据类型和运算符 1.1注释 注释和其他语言一样,允许单行 ,多行注释,一份规范的代码里面需要有一些正式的注释,如下注释: /* 这是多行 注释 */ //这是多行注释 OC语言暂时不支持嵌套注释.(swift里面支持这一特性) 1.2标示符和变量 1.2.1分隔符 1.分号 每一个句子以分号结尾,一行可以多个语句,一个语句也可以跨多行,但是变量名不能分开 合法的: NSString *name  = @"你好"; int age  = 20; NSString *

ArcGIS Runtime SDK for iOS开发系列教程(5)——要素信息的绘制

在客户端绘制点.线.面要素是GIS应用的基本功能,这一讲我将向大家介绍在iOS中如何来实现这一功能.大家都知道在Flex.Silverlight.js中对于要素的绘制都有一个叫GraphicsLayer的图层,那么在ArcGIS for iOS中也不例外,具体的功能和用法也比较类似.同时,在ArcGIS for iOS中还有一个实用的图层叫AGSSketchGraphicsLayer(草图编辑图层),它不仅可以方便客户要素的绘制保存,也是实现离线在线编辑同步的利器. 另外,在Objective-

分享一些iOS开发的教程

OS教程链接: http://pan.baidu.com/s/1hqBzR9M 密码: dbg3 swift教程链接: http://pan.baidu.com/s/1DEaFc 密码: ucys