我想试着象征我的iPhone应用程序的崩溃报告.
我从iTunes Connect检索了崩溃报告.我有我提交到App Store的应用程序二进制文件,我有作为构建的一部分生成的dSYM文件.
我将所有这些文件放在一个由聚光灯索引的目录中.
现在怎么办?
我试过调用:
symbolicatecrash crashreport.crash myApp.app.dSYM
Run Code Online (Sandbox Code Playgroud)
它只是输出崩溃报告中的相同文本,而不是符号化.
难道我做错了什么?
我刚刚在AppStore上发布了一个带有Crittercism崩溃报告的应用程序,而且我收到了很多与SIGSEGV错误有关的崩溃报告.Crittercism给了我一个StackTrace和一些关于使用统计信息的方便细节,但是,我仍然被这些符号化的堆栈跟踪所迷惑.关于这种事情我总体上有几个问题 -
堆栈跟踪中的许多类和方法甚至都没有在我的应用程序中使用(据我所知),这使我相信这些崩溃是由Apple的私有API引起的.看一下这个问题底部附近的Stack Trace. 如果崩溃报告中的所有方法和类都没有直接在我的代码中实现,我怎么能告诉我的应用程序崩溃了什么?
+坠毁线程中每行末尾带有数字的符号代表什么?
有关SIGSEGV崩溃问题的StackOverflow上的大多数Q/A表示它们是由内存泄漏或问题引起的,但是 如果我在iOS项目中使用ARC,如何因内存问题导致崩溃?ARC不应该为我管理所有这些事情吗?
如果我无法复制错误/崩溃,该怎么办?
有没有办法真正读取 StackTrace?有什么一般的东西有助于理解正在发生的事情吗?
以下是Crittercism主线程崩溃报告中的StackTrace,该问题涉及:
Thread: Unknown Name (Crashed)
0 UIKit 0x37307a22 -[UIView(CALayerDelegate) actionForLayer:forKey:] + 138
1 QuartzCore 0x38fdfff7 -[CALayer actionForKey:] + 75
2 QuartzCore 0x38fdffa7 _ZL12actionForKeyP7CALayerPN2CA11TransactionEP8NSString + 59
3 QuartzCore 0x38fdfe93 _ZN2CA5Layer12begin_changeEPNS_11TransactionEjRP11objc_object + 131
4 QuartzCore 0x38fdab87 _ZN2CA5Layer6setterEj12_CAValueTypePKv + 183
5 QuartzCore 0x39007057 -[CALayer setBackgroundColor:] + 35
6 UIKit 0x3731ef51 -[UIView(Internal) _setBackgroundCGColor:withSystemColorName:] + 1021
7 APP NAME 0x000a301d 0x00086000 + 118813
8 libdispatch.dylib 0x3962511f …Run Code Online (Sandbox Code Playgroud)