如何追踪僵尸对象崩溃



我的iOS应用程序出现有线故障,无法100%再现。从崩溃日志中,我可以看到无法识别的选择器(属性访问器)被发送到了类型不正确的对象(很可能是僵尸)。XCode中是否有任何东西可以用来查看我是否正在尝试访问僵尸对象?

谢谢。

有两种方法。1.转到XCode左侧的断点部分,向下可以看到添加异常断点的选项。2.单击菜单栏>产品>方案>编辑方案选择"诊断"选项卡,然后单击"启用僵尸对象"

希望有帮助:)

有几种方法。您可以通过在当前构建方案的运行项目的诊断选项卡中将"启用僵尸对象"复选框设置为true来启用僵尸。

你可以在仪器工具中的应用程序上运行僵尸仪器(从项目菜单中选择"配置文件",然后在结果对话框中,选择仪器的内存组,并寻找"僵尸"仪器。这实际上只是打开仪器的分配工具。

当使用任一方法启用僵尸监视时,系统将不再释放释放的对象。相反,它们被标记为一个特殊的签名,表明它们是僵尸。然后,下次你试图引用一个对象时,你会立即发生非常具体的崩溃,系统仍然可以判断它在成为僵尸之前是什么样的对象,使用Instruments,你甚至可以判断它被分配到程序的哪里。

最新更新