3 回答
TA贡献1859条经验 获得超6个赞
这是一种可以在崩溃发生时立即捕获崩溃的解决方案,它将提供比崩溃日志更多的人类可读代码信息。它将缺少一些崩溃日志,但是正如Till所说,您仍然应该能够访问这些日志。
关于Xcode 4.2的另一个SO问题总是在崩溃时返回main。那里的答案使用此方法,您可以扩展它以跟踪崩溃。
在AppDelegate中实现自己的异常处理程序
// on load
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"CRASH: %@", exception);
NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
// Internal error reporting
}
更新我做了一些回溯,Zane Claes提供了此解决方案,以解决Xcode 4.2调试不表示堆栈调用的问题
他在第二条评论中提供了一个通用的解决方案。“我发现将崩溃日志写入文件并提示用户在下次启动时提交它很有用(仅在发布模式下,以免妨碍调试)。这使我获得了很多错误报告。 ..并且用户知道他们的问题已得到解决”“我知道不是每个人都想问这个用户,但是那里有超级用户很乐意为您提供帮助。
您当然可以包括一个“永不显示此提示”按钮,以使人们不会因报告机制而感到沮丧。
或者,您可以通过信息与服务器联系(不确定它是否会因为崩溃而工作,但请保存它,并偶尔尝试使用详细信息将其发布到服务器上)
- 3 回答
- 0 关注
- 731 浏览
添加回答
举报