首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏進无尽的文章

    扒虫篇-Debug几个实用的方法

    僵尸模式(NSZombieEnabled) 启用了NSZombieEnabled的话,它会用一个僵尸来替换默认的dealloc实现,也就是在引用计数降到0时,该僵尸实现会将该对象转换成僵尸对象。 如何找出问题 1.NSZombieEnabled EXC_BAD_ACCESS 可以这么说,90%的错误来源在于对一个已经释放的对象进行release操作。 最后提醒NSZombieEnabled只能在调试的时候使用,千万不要忘记在产品发布的时候去掉,因为NSZombieEnabled不会真正去释放dealloc对象的内存,一直开启后果可想而知。 就是当设置NSZombieEnabled环境变量后,一个对象销毁时会被转化为_NSZombie,设置NSZombieEnabled后,当你向一个已经释放的对象发送消息,这个对象就不会向之前那样Crash 如图:(跟设置NSZombieEnabled一样,添加MallocStackLoggingNoCompact,并且设置为YES) ?

    2.2K10发布于 2018-09-12
  • 来自专栏sweet_iOS

    Xcode崩溃原因汇总

    错误描述:message sent to deallocated instance 解决方案:NSZombieEnabled e.g.: NSArray *testArr = @[@"1"] 错误描述:EXC_BAD_ACCESS(不能访问该存储器区域) 解决方案:NSZombieEnabled e.g.: UIView *view = [UIView alloc]; [self.view

    2.1K30发布于 2020-12-23
  • 来自专栏王大锤

    升级xcode7的问题:使用shareSDK,坑的你两眼泪汪汪 xcode的调试技巧

    2 打开NSZombieEnabled,僵尸对象。

    96180发布于 2018-05-17
  • 来自专栏stringwu的互联网杂谈

    < Effective Objective-C>读书笔记

    通过环境变量 NSZombieEnabled可开启此功能; 系统会修改对象的 isa指针,令其指向特殊的僵尸类。

    75420编辑于 2022-08-12
  • 来自专栏iOS开发~

    iOS_Effective Objective-C 20 编写高质量iOS与OS X代码的52个有效方法

    通过环境变量NSZombieEnabled可开启此功能 系统会修改对象的isa指针,令其指向特说的僵尸类,从而使该对象变为僵尸对象。

    1.6K40编辑于 2022-07-20
领券