我无法发布图片,因为我还没有 10 个代表,所以如果其中任何内容含糊不清,我深表歉意。
我正在为 Mac OS X 编写一个 ARC 应用程序,它会引发 EXC_BAD_ACCESS 错误。为了追查问题,我在“诊断”选项卡下启用了僵尸对象。
然后我启动 Instruments (Zombies)
最后我记录并导致应用程序崩溃并生成错误。但是,我没有在仪器中获得任何僵尸指标,而是收到我正在分析的应用程序问题报告,说我的应用程序“意外退出”。没有生成堆栈跟踪供我导航,并且该问题报告对我没有多大用处。
EXC_BAD_ACCESS 错误是否是由解除对已释放内存指针的引用以外的其他原因引起的?当出现 EXC_BAD_ACCESS 错误时,我是否应该总是期望在这种情况下得到 Zombies?如果是这样,我怎么能看到僵尸?我还需要配置什么来获取僵尸?
谢谢
Best Answer-推荐答案 strong>
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/
|