为啥来自 iTunes Connect 的崩溃报告信息量如此之少?

Posted

技术标签:

【中文标题】为啥来自 iTunes Connect 的崩溃报告信息量如此之少?【英文标题】:Why crash reports from the iTunes Connect are so not informative?为什么来自 iTunes Connect 的崩溃报告信息量如此之少? 【发布时间】:2014-05-15 11:41:23 【问题描述】:

我从 iTunes Connect 获取了以下崩溃报告:

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  0

0   CoreFoundation                     0x3226629e __exceptionPreprocess + 158
1   libobjc.A.dylib                    0x39f0097a objc_exception_throw + 26
2   CoreFoundation                     0x321b08d4 -[__NSArrayM insertObject:atIndex:] + 764
3   *** MYAPP ***                      0x0001d994 0x00011000 + 51604
4   *** MYAPP ***                      0x0001cfb6 0x00011000 + 49078

如何使用 iTunes Connect 自动符号化的调试符号构建应用程序?

【问题讨论】:

堆栈从未经过您的任何方法。但它是一个sigabrt,似乎是一个nil对象被添加到一个数组中。 如果添加目标C断点,它可能会在发生错误的地方断点。 Nil 对象可以添加到数组中。不能向应用程序的远程用户添加断点。 这是一个 NSArray 吗?还是 CRefArray ? 我真的不知道。我只有这个只有数字的崩溃报告。但我认为是NSMutableArray 【参考方案1】:

我不是专家,但... 要查看崩溃报告中的方法,您的机器需要有一个来自应用程序的符号表。 您是否在 Mac 上使用 Xcode 构建了该应用程序? 我相信在您构建时会生成一个 DSYM(调试器符号)文件,其中包含一个符号表,以便您可以在 Xcode > Organizer 中打开崩溃报告并查看对象符号化的地址,以便更好地了解正在发生的事情. 这一切都在我的脑海中,所以[需要引用],但简短的版本是你需要符号文件。如果您没有在 Mac 上构建应用程序,那么这就是您缺少对象名称的原因。

这是一个 link 调试已部署的 ios 应用程序指南。 还有一个给 parent 的所有调试信息

【讨论】:

如何使用 iTunes Connect 自动符号化的调试符号构建应用程序? 顺便说一句,应用程序总是在 Mac 上构建,我在 Organizer 上有所有版本。但我在 xCode 上看不到符号化的崩溃报告。 那么我肯定会说阅读我链接到的调试指南,它们包含的信息比我记忆中所能提供的要好:)

以上是关于为啥来自 iTunes Connect 的崩溃报告信息量如此之少?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 iTunes Connect 获取应用程序报告的崩溃总数

如何在 Xcode 中查看来自 iTunes Connect 的崩溃?

iTunes Connect:“提交的报告太少,无法显示报告”

如何将交易收据与可在 iTunes Connect 中下载的财务报告相关联?

如何在 iTunes Connect 中查看崩溃原因?

通过 iTunes Connect 向 Apple 提交崩溃日志