很难跟踪iPad应用程序中的崩溃。真正的困难来自于这样一个事实,即在应用程序失败时不存在任何错误或堆栈跟踪。它就像Keizer Soze一样消失了,“像那样,po。他走了。”
我已经在模拟器和设备上复制了崩溃。设备日志为零,控制台中没有任何记录,等等。
我知道在崩溃期间在后台线程中发生了一些CoreGraphics
操作。通常,大约3个NSOperation在踢一些图像融合。
混合由CGContext *调用(DrawImage,SetBlendMode,SetAlpha等)组成。 NSOperation回调主线程中的委托(delegate)以处理图像并将其设置为UIImage
,因此它不应该是UI主线程冲突,但是我现在不打折。
我缺少一些Xcode技巧来准确地跟踪正在发生的事情吗?或至少可以更好地了解问题所在?
编辑我已经在Instruments中运行了该应用程序,以跟踪内存使用情况,发现它稳定地存储在2MB左右。因此,不要以为这是内存问题。但是经过考虑,这个稳定的2MB似乎异常低。 Instruments是否有可能不选择CoreGraphics分配?
最佳答案
如果缺少更好的解决方案(如果不是很明显),请使用NSLogs在您的应用程序周围加圈,然后通过断点和/或其他日志从该处进行更深入的钻取。
关于ios - iOS崩溃,没有错误或堆栈跟踪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4810299/