ios - Xcode 5 Instruments 不显示僵尸

标签 ios xcode instruments profiler zombie-process

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

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

然后我启动 Instruments (Zombies)

最后我记录并导致应用程序崩溃并生成错误。然而,我并没有在仪器中获得任何僵尸指示器,而是收到了我的应用程序的应用程序问题报告,我正在分析该报告,说我的应用程序“意外退出”。没有生成堆栈跟踪供我导航,并且该问题报告对我来说没有多大用处。

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

谢谢

最佳答案

Could the EXC_BAD_ACCESS error be caused by something other than dereferencing a pointer to memory that has been released?

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

Should I always expect to get Zombies in this case when there is an EXC_BAD_ACCESS error?

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

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

相关文章:

objective-c - 循环和便利方法是否会导致 ARC 出现内存峰值?

ios - 如何查找 iPhone 应用程序 CPU 使用率 100% 的原因

ios - WatchConnectivity 通过在 iPhone 上启动计时器来发送 watch 消息

iphone - 在 Xcode 中构建 Cordova 项目 : missing icon

swift - Sprite 套件中的第二个场景改变了位置( anchor )

ios - 使用 UICollectionViewController 重新排序的嵌套 Controller

iOS - 如何测量线程唤醒?

ios - 为什么 hitTest 不返回附加到窗口的 View ?

ios - 如何以编程方式访问 Assets 目录颜色集

iphone - UIView底部不显示