Xcode 5 Instruments不显示僵尸

时间:2014-04-15 22:05:22

标签: ios xcode instruments profiler zombie-process

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

我正在为Mac OS X编写ARC应用程序,它会抛出EXC_BAD_ACCESS错误。为了追踪问题,我在“诊断”标签下启用了Zombie Objects。

然后我启动了Instruments(Zombies)

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

EXC_BAD_ACCESS错误是否可能由解除引用已释放内存的指针以外的其他内容引起?当出现EXC_BAD_ACCESS错误时,我是否总是希望在这种情况下获得Zombies?如果是这样,我怎么能看到僵尸?我还需要配置什么才能获得僵尸?

由于

2 个答案:

答案 0 :(得分:1)

您可以尝试在Xcode中添加异常断点。

  1. 点击"断点导航器" Xcode中的标签
  2. 点击加号
  3. 点击"添加例外断点"

    Exception breakpoint

答案 1 :(得分:1)

  

EXC_BAD_ACCESS错误是否可能是由解除引用已释放内存的指针以外的其他内容引起的?

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

  

当出现EXC_BAD_ACCESS错误时,我是否总是希望在这种情况下获得Zombies?

不, NSZombieEnabled只能帮助您查找尝试访问已解除分配对象的情况。对于产生EXC_BAD_ACCESS的其他情况,它无法帮助您。