异常断点和僵尸对象的使用
来源:互联网 发布:淘宝抓取同行客户软件 编辑:程序博客网 时间:2024/05/10 17:12
大家在写程序时可能会直接报出一些错误,像是数组越界或是对象为空什么的,但是碰到这些情况后就会发现代码直接就跳到了主函数(main.m)对查找问题所在极为不利。在查到了一些资料后,针对着使用异常断点和僵尸对象的特点及其展现问题的标志,做一些个人见解。
1. 使用exception breakpoint的作用:
如果不添加异常断点,运行程序出现异常时就会跳转到main函数,如果添加了异常断点后就会在抛出异常的那行停下。
原因描述:
代码有问题导致异常时,异常断点会停止程序的运行,一般没有设置异常断点,应用程序崩溃时,可能只会显示造成崩溃的那条异常,即便去查看日志也看不出什么问题所在,设置异常断点后,调试器会在异常抛出的瞬间停止程序的运行,并将程序定位到出现异常的那行代码上。
2. 使用 enable Zombie(只能用在模拟器上)
使用情况:在我们运行一个项目时,经常会有crash现象,这是让大家相当烦闷的事情,一般的造成原因我们根据日志就可以看到,但有的野指针crash是不会显示的,这时我们就需要用到僵尸对象了,在editschem中设置enable Zombie Objects为enable状态。这样执行程序如果发生crash就会在日志中打印崩溃的原因。
解析:
一般出现僵尸对象是因为我们使用了一个已经被release掉的对象。一般当我们release内存中的一个对象时,该对象将被销毁。但是,当Zombies开启时,只是将其标志为release状态,但并没有销毁,这时如果我们再度访问这个对象,Xcode可以告诉我们正在访问的对象是一个不应该存在的对象。因为xcode知道这个对象是什么,所以知道在哪里,及这样的访问是什么时候发生的。
- 异常断点和僵尸对象的使用
- eclipse的异常断点和条件断点
- eclipse的异常断点和条件断点设置方式
- Android Studio使用进阶——(条件断点、异常断点等)断点的使用
- eclipse 异常断点和条件断点
- 使用xcode调试僵尸对象
- 使用xcode调试僵尸对象
- Chipmunk僵尸物理对象的出现和解决(一)
- Chipmunk僵尸物理对象的出现和解决(二)
- Chipmunk僵尸物理对象的出现和解决(三)
- Chipmunk僵尸物理对象的出现和解决(四)
- Chipmunk僵尸物理对象的出现和解决(五)
- Chipmunk僵尸物理对象的出现和解决(六)
- Chipmunk僵尸物理对象的出现和解决(七)
- Chipmunk僵尸物理对象的出现和解决(八)
- 黑马程序员-我的第十二篇学习日记:OC中空指针,野指针,僵尸对象,retain和release基本使用
- 僵尸和僵尸进程的那些事
- Eclipse的调试:异常断点和条件断点,第三方代码调试
- boost内存管理机制
- 丑数
- 图形处理(十)测地极坐标参数化
- respondsToSelector使用
- 设计,素材
- 异常断点和僵尸对象的使用
- 图形处理(十一)Stroke Parameterization
- Git 的BUG小结
- MAC 快捷键
- Java命名规范
- JAVA问题集锦
- Spring Security实现权限管理
- 第14周项目2-用文件保存的学生名单
- shell学习十四天----使用cut选定字段