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

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

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

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

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

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

用途:主要用来优化内存

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







相关文章推荐

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

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

ios调试开启zombie

这种错误通常是内存管理的问题,一般是访问了已经释放的对象导致的,可以开启僵尸对象(Zombie Objects)来定位问题: 在Xcode的菜单: Product->Scheme->Edit Sc...
  • ddd998
  • ddd998
  • 2014年11月14日 16:30
  • 1437

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

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

使用 Instrument 解决 Zombie 问题

所谓 Zombie 问题,即因程序员在代码中引用了“Zombie 对象”而导致应用程序崩溃。所谓 Zombie 对象,即已经deallocated 的对象,这些对象的 retainCount 都已经为...
  • kmyhy
  • kmyhy
  • 2013年06月04日 17:39
  • 5020

野指针与僵尸对象

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

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

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

IOS各种调试技巧(条件断点、僵尸模式、内存检测、图层透视图模式)

转自:http://www.jianshu.com/p/92d949a6d4e7 文章转载自Leo_wlCnBlogs的博客 感谢原博主的奉献,如有侵权请联系本人! ...

iOS指南系列:如何解决内存问题 深入调试 结尾篇

iOS指南系列:如何解决奔溃问题 iOS指南系列:如何解决奔溃问题-关于内存访问 iOS指南系列:如何解决奔溃问题-关于内存访问续 iOS指南系列:如何解决奔溃问题-关于内存访问续 ...
  • gnicky
  • gnicky
  • 2012年04月15日 12:58
  • 6488

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

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

iOS---WebView执行JS方法时传Json串做参数的一个坑!

今天遇到一个奇葩的问题,weiView执行JS代码时,总是没有效果,可是方法名与参数都没有错,代码如下:  [webView stringByEvaluatingJavaScriptFromS...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS- Xcode之启动(打开)僵尸对象(Enable Zombie Objects)
举报原因:
原因补充:

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