我无法发布图片,因为我还没有10位代表,因此如果其中任何内容含糊,我深表歉意。

我正在为Mac OS X编写ARC应用程序,它会引发EXC_BAD_ACCESS错误。为了找出问题所在,我在“诊断”标签下启用了“僵尸对象”。

然后我启动仪器(僵尸)

最后,我记录并导致应用程序崩溃,并生成错误。但是,我没有在乐器中得到任何僵尸指标,而是得到了我的应用程序出现的应用程序问题报告,该应用程序正在性能分析中指出我的应用程序“意外退出”。没有为我浏览而生成的堆栈跟踪信息,并且该问题报告对我没有多大用处。

EXC_BAD_ACCESS错误是否可能是由于取消引用已释放的内存的指针以外的原因引起的?在出现EXC_BAD_ACCESS错误的情况下,我是否应该总是希望得到这种僵尸?如果是这样,那我怎么看僵尸?我还需要配置什么才能获得僵尸?

谢谢

最佳答案

EXC_BAD_ACCESS错误是否可能是由于取消引用已释放的内存的指针以外的原因引起的?

是。 该错误只是意味着您的程序试图取消引用一个指针,该指针指向不允许您的程序访问的位置。那可能是因为它指向一个不再存在的对象,但是当您使用指针而不首先将其设置为有效值时,或者当您错误地尝试使用非指针值作为指针时,也会发生这种情况。

在出现EXC_BAD_ACCESS错误的情况下,我是否应该总是希望得到这种僵尸?

否, NSZombieEnabled仅可帮助您查找尝试访问已释放对象的情况。它不会对产生EXC_BAD_ACCESS的其他情况有所帮助。

关于ios - Xcode 5 Instruments不显示僵尸,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23095411/

10-10 18:38