iOS- Xcode之启动(打开)僵尸对象(Enable Zombie Objects)

原创 2016年08月30日 15:29:28

如果打开了ARC或垃圾回收模式,在程序中发消息给已经释放的对象,将会引起程序崩溃。这时定位崩溃原因将非常困难,因为出问题的对象已经重新分配了。

解决方法:可以通过启动僵尸对象(Zombie Objects)来解决,开启该选项后,程序在运行时,如果访问了已经释放的对象,则会给出较准确的定位信息,可以帮助确定问题所在。

功能的原理:在对象释放(retainCount 为0)时,使用一个内置的Zombie对象,替代原来被释放的对象。无论向该对象发送什么消息(函数调用),都会触发异常,抛出调试信息。

注意:记得问题被修复后,关闭该功能 

用途:主要用来优化内存

启动僵尸对象(Zombie Objects)的步骤:







bug调试 使用Zombie Objects(僵尸对象)来解决关于内存泄露的问题

前段时间,做项目的时候 测试发现了一个bug 打过来重现的时候 发现就算打了全局断点,也没办法找到。。。无奈之下 就使用Xcode的Zombie Objects来查找定位。 当时报错:      ...
  • kevinSnip
  • kevinSnip
  • 2016年03月01日 10:38
  • 2028

iOS开发那些事-性能优化–查找和解决僵尸对象

内存泄漏是当一个对象或变量在使用完成后没有释放掉,那么如果我们走了另外一个极端情况会什么样呢?这就导致过渡释放(over release)问题,从而使对象“僵尸化”,对象称为僵尸(zombies)对象...
  • tonny_guan
  • tonny_guan
  • 2013年02月05日 14:24
  • 3509

Xcode之启动(打开)僵尸对象(Enable Zombie Objects)

如果打开了ARC或垃圾回收模式,在程序中发消息给已经释放的对象,将会引起程序崩溃。这时定位崩溃原因将非常困难,因为出问题的对象已经重新分配了。 解决方法:可以通过启动僵尸对象(Zombie Obje...
  • Jackson__Chan
  • Jackson__Chan
  • 2016年05月22日 23:13
  • 4293

Xcode使用心得03:打开僵尸(Zombie)模式

如果打开了ARC或垃圾回收mo'shi
  • mydo
  • mydo
  • 2014年07月07日 10:53
  • 13421

野指针与僵尸对象

野指针.C语言: 当我们声明1个指针变量,没有为这个指针变量赋初始值.这个指针变量的值是1个垃圾指 指向1块随机的内存空间。 OC语言: 指针指向的对象已经被回收掉了.这个指针就叫做野指针.僵尸对象....
  • yi_zz32
  • yi_zz32
  • 2015年09月21日 23:58
  • 8949

IOS性能调优系列:使用Zombies动态分析内存中的僵尸对象

原文链接:http://www.cnblogs.com/ym123/p/4319185.html 硬广:《IOS性能调优系列》第四篇,预计会有二十多篇,持续更新,欢迎关注。 前两篇《IOS...
  • gx_wqm
  • gx_wqm
  • 2016年06月19日 11:43
  • 588

iOS 野指针和僵尸对象

几个概念 转载地址
  • LOLITA0164
  • LOLITA0164
  • 2017年08月14日 10:43
  • 152

Objective-c - 野指针和僵尸对象

/*  Objective-c - 野指针和僵尸对象                  1> c语言中的野指针:                 指的是声明了一个指针变量而没有...
  • xuezhangjun0121
  • xuezhangjun0121
  • 2017年01月07日 16:04
  • 184

IOS中ARC模式下的crash之僵尸对象

一、问题 我们先来看下crash的实例场景: 在控制台中,会显示"message sent to dealloccated instance"的信息,意思就是使用一个已经释放的对象。这个...
  • skylin19840101
  • skylin19840101
  • 2015年03月06日 17:03
  • 1697

iOS中的僵尸对象的实现

僵尸对象对于我们调试程序来说很有用,在XCode中打开僵尸对象的方法是设置NSZombieEnabled环境变量为YES,这导致所有的对象都不会被释放,程序跑起来会时间长了内存占用量很大。 Mik...
  • unicodeXinYi
  • unicodeXinYi
  • 2014年12月16日 14:26
  • 1002
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS- Xcode之启动(打开)僵尸对象(Enable Zombie Objects)
举报原因:
原因补充:

(最多只允许输入30个字)