我今天遇到了一个我正在处理的应用程序的奇怪错误。 问题出在目录模块上。每页上方都有一个小的黑色区域,因为页面没有填满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;或者我到目前为止遇到的其他问题
答案 0 :(得分:10)
你在某处有无限递归。你在某个地方覆盖了-[UIView hitTest:withEvent:]
吗?那将是一个很好的起点。