很难追踪 iPad 应用程序中的崩溃。困难实际上源于应用程序失败时不存在错误或堆栈跟踪这一事实。它就像 Keizer Soze 一样消失了,“就这样,噗。他走了。”。
我已经在模拟器和设备上复制了崩溃。设备日志为零,控制台中没有任何内容等。
我知道在崩溃期间,一些CoreGraphics
操作发生在后台线程中。通常,三个左右的 NSOperations 正在踢一些图像混合。
混合由 CGContext* 调用(DrawImage、SetBlendMode、SetAlpha 等)组成。NSOperation 回调到主线程中的委托来处理图像并将其设置为UIImage
,因此它不应该是 UI 主线程冲突,但我此时并没有打折任何事情。
我是否缺少一些 Xcode 技巧来准确追踪正在发生的事情?或者至少可以更好地提示问题出在哪里?
编辑我已经在 Instruments 中运行应用程序跟踪内存使用情况,发现它在 2MB 左右非常稳定。所以,不要认为这是一个内存问题。但经过考虑,这个稳定的 2MB 似乎异常低。Instruments 是否有可能没有获得 CoreGraphics 分配?