【发布时间】:2011-12-02 06:48:45
【问题描述】:
我开始通过BugSense 收到来自我的 iOS 应用程序的崩溃报告。我已在我的应用程序中包含调试符号并获取有关错误的信息,例如。 “* -[NSMutableArray objectAtIndex:]: index 0 beyond bounds for empty array” 以及堆栈跟踪,例如:
Full Stacktrace
0 CoreFoundation __exceptionPreprocess 114
1 libobjc.A.dylib objc_exception_throw 24
2 CoreFoundation -[__NSArrayM objectAtIndex:] 184
3 Myapp Myapp 738167
4 UIKit -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] 662
5 UIKit -[UITableView _userSelectRowAtPendingSelectionIndexPath:] 130
6 Foundation __NSFireDelayedPerform 368
7 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ 14
8 CoreFoundation __CFRunLoopDoTimer 850
9 CoreFoundation __CFRunLoopRun 1088
10 CoreFoundation CFRunLoopRunSpecific 230
11 CoreFoundation CFRunLoopRunInMode 58
12 GraphicsServices GSEventRunModal 114
13 GraphicsServices GSEventRun 62
14 UIKit -[UIApplication _run] 404
15 UIKit UIApplicationMain 670
16 Myap p Myapp 11901
17 Myapp Myapp
但是,我想对报告进行符号化,以便准确指出代码中的错误所在。如何从 Bugsense 获取报告数据并执行此操作?有没有办法从 BugSense 下载“常规”崩溃报告并使用它,或者他们提供的数据是否足以以某种方式处理?我知道报告来自哪个版本的应用程序,所以我知道要针对哪些二进制文件进行符号化。
【问题讨论】:
-
Symbolicating iPhone APP Crash Reports 看看他们的 atos 解决方案也是一次性的。
-
感谢您的建议。我尝试使用
atos,但收到以下错误消息:“atos cannot load symbols for the file MyApp.app.dSYM for architecture armv7” -
所以在我的情况下,我在 finder 中显示了我的应用存档,然后导航到终端中的 .xarchive 文件。然后我进入 Products/Applications 目录并输入
atos -arch armv7 -o MyApp.app/MyApp现在这将使您进入交互模式,然后您只需输入地址 0x738167 -
您使用什么版本的 Xcode/iOS 进行开发?
标签: ios xcode debugging crash symbols