调试iOS私有代码中的iOS信号异常

时间:2012-02-18 17:16:09

标签: objective-c ios xcode exc-bad-access sigabrt

我知道很多头衔。

然而,我似乎不断得到这些神秘的错误&所有GDB都显示我是苹果代码的行号。即。

0x028235bd  <+0025>  jne    0x28235dd <_ZN2CA5Layer15collect_layers_EPNS0_17CollectLayersDataE+57>
0x028235bf  <+0027>  mov    0x4(%eax),%ecx
0x028235c2  <+0030>  test   %ecx,%ecx
0x028235c4  <+0032>  js     0x28235dd <_ZN2CA5Layer15collect_layers_EPNS0_17CollectLayersDataE+57>
0x028235c6  <+0034>  mov    0x8(%ebp),%edx
0x028235c9  <+0037>  mov    0x78(%edx,%ecx,4),%edx          <---- EXC_BAD_ACCESS

我只是想迭代上面我知道的内容表明正在再次访问已发布的对象。但是问题是当我没有堆栈跟踪甚至寄存器值时如何调试它?

它不仅仅是EXC_BAD_ACCESS而且还有SIGABRT错误,否则我可以使用NSZombieEnabled技巧。

(另外请注意,此调用跟踪与ViewControllers等相关,因此调试这些调用的指针也会有所帮助)

再次感谢。

1 个答案:

答案 0 :(得分:1)

打开xCode,按下命令+ 6,点击底部的“+”按钮,选择Add Exception Breakpoint,按完成。现在,如果抛出任何异常,xCode将突出显示抛出它的代码行。