zoukankan      html  css  js  c++  java
  • IOS 的调试模式

    iOS调试模式分为:

    断点单步调试;

    全局断点调试;

    僵尸调试;

    暴力调试;

    这里主要说一下什么是僵尸调试模式?

    1、为什么会使用NSZombieEnabled?

    应用调试可能会收到类似 Thread 1: Program received signal:"EXC_BAD_ACCESS 这样的错误提示信息,这样的信息通常是内存操作错误引起,例如你对已释放的对象发送消息时就会出现,再如release 的对象再release,release 那些autorelease 的对象等
    当设置NSZombieEnabled环境变量后,一个对象销毁时会被转化为_NSZombie,设置NSZombieEnabled后,当你向一个已经释放的对象发送消息,这个对象就不会向之前那样Crash或者产生一个难以理解的行为,而是放出一个错误消息,然后以一种可预测的可以产生debug断点的方式消失, 因此我们就可以找到具体或者大概是哪个对象被错误的释放了。

    2、如何设置为NSZombieEnabled模式?

    Product ->Scheme-> Edit Scheme-> Arguments->Environment Variables->点击"加号", 将 NSZombieEnabled 参数加到Environment Variables 窗口中, 后面的数值写YES。

  • 相关阅读:
    初识react hooks
    react初识生命周期
    在调用setState之后发生了什么
    课后作业四
    课后作业2
    课后作业1
    自我介绍
    电脑软件推荐
    数据结构
    数组(一维数组)
  • 原文地址:https://www.cnblogs.com/benpaobadaniu/p/4951228.html
Copyright © 2011-2022 走看看