奇怪的崩溃日志与CALayer有关

时间:2011-12-20 16:27:40

标签: objective-c ios uikit crash calayer

我今天遇到了一个我正在处理的应用程序的奇怪错误。 问题出在目录模块上。每页上方都有一个小的黑色区域,因为页面没有填满100%的屏幕。点击该区域会导致崩溃。

我的崩溃日志看起来像这样:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_PROTECTION_FAILURE at 0x2fd00fec
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   QuartzCore                      0x35d812ac CA::Transaction::ensure_compat() + 0
1   QuartzCore                      0x35da2648 CALayerMapGeometry_(CALayer*, CALayer*, void (*)(void*, CA::Mat4<double> const&), void (*)(void*, CA::Mat4<double> const&), void*) + 28
2   QuartzCore                      0x35da25f8 -[CALayer convertPoint:fromLayer:] + 52
3   UIKit                           0x32457018 -[UIView(Geometry) convertPoint:fromView:] + 68
4   UIKit                           0x32456d40 -[UIView(Geometry) hitTest:withEvent:] + 172
5   UIKit                           0x32456d50 -[UIView(Geometry) hitTest:withEvent:] + 188
(...)repeat the line above^ until it reached 511
511 UIKit                           0x32456d50 -[UIView(Geometry) hitTest:withEvent:] + 188

更多的是,xcode很快就会崩溃。 调试导航器向我展示了一些更奇怪的东西:http://i43.tinypic.com/5txnq0.png然后继续使用巨大的列表,例如:http://i41.tinypic.com/2h81ctw.png

我真的不知道从哪里开始...... 目录模块是旧的并经过良好测试,之前从未发生过类似的事情。 我知道有很多变量和事情可能会影响应用程序,但如果有人能够对此进行一点点阐述,我会非常感激 正如我所说,我甚至不知道如何开始接近这个问题,它看起来不像你的常规&#34;访问一个解除分配的对象&#34;,&#34;内存泄漏&#34;或者我到目前为止遇到的其他问题

1 个答案:

答案 0 :(得分:10)

你在某处有无限递归。你在某个地方覆盖了-[UIView hitTest:withEvent:]吗?那将是一个很好的起点。