crash-reports - 符号化(Symbolicating) iphone App Crash文件

  显示原文与译文双语对照的内容

我正在尝试尝试symbolicate的应用程序报告崩溃。

我从iTunes连接中检索到崩溃报告。 我有提交给 App Store的应用程序二进制文件,并且我拥有作为构建一部分生成的dSYM文件。

我把所有这些文件放在一个目录中,它被聚光灯索引。

现在什么?

我尝试调用:


symbolicatecrash crashreport.crash myApp.app.dSYM

它只输出崩溃报告中的相同文本以开始,而不是 symbolicated 。

我是不是在做错误的事情?

任何帮助都将得到非常感谢,谢谢。

时间:

从苹果分析崩溃报告的步骤:

  1. 复制发布. app 文件推到 AppStore,. dSYM 文件创建时释放和崩溃报告收到苹果文件夹。

  2. 打开终端应用程序并转到上面创建的文件夹( 使用 cd 命令)

  3. 运行 atos -arch armv7 -o APPNAME.app/APPNAME MEMORY_LOCATION_OF_CRASH 内存位置应该是应用程序按报告崩溃的位置。

比如: atos -arch armv7 -o 'APPNAME.app'/'APPNAME' 0x0003b508

这将显示导致崩溃的确切行,方法名。

[classname functionName:]; -510:

Symbolicating IPA

如果我们使用异丙醇symbolicating——重命名延伸. ipa. zip, 提取然后我们可以得到一个有效载荷文件夹包含应用程序。 在这种情况下,我们不需要. dSYM 文件。

注释

这只能在应用程序二进制没有被删除的情况下工作。 默认情况下释放版本会删除符号。 我们可以在项目生成设置"复制期间带调试符号"中更改它。

更多详细信息参见这里 post web

我在我的应用中使用 Airbrake,这在远程错误日志中做了相当好的工作。

如果回溯需要,我将在symbolicate中使用它们:

  1. 在 Xcode ( 4.2 ) 中,转到组织者,右键单击生成. ipa 文件的归档文件。

  2. 、cd码头inxcarchive成为 for论坛 MyCoolApp 10-27-11 1.30 PM.xcarchive

  3. 输入以下内容 atos -arch armv7 -o 'MyCoolApp.app'/'MyCoolApp' ( 不要忘了单引号)

  4. 我不在该调用中包含我的符号。 你得到的是一个在空行上的块光标。

  5. 然后在那个块光标处复制/粘贴我的符号代码,然后按回车键。 你将看到类似:

    -[MyCoolVC dealloc] (in MyCoolApp) (MyCoolVC.m:34)

  6. 你返回到块光标,你可以粘贴其他符号。

能够在不使用re-entering的情况下完成回溯跟踪,这是一个很好的节省时间。

enjoy!

尽管我已经开发应用了几年,这是我第一次调试一个二进制,我感到像一个完整的NOOB找出所有的文件在哪里 换句话说,哪里 *.app *.dSYM 和崩溃日志? 为了弄清它,我必须阅读多个帖子。 图片是值得的,我希望这篇文章能帮助将来的其他人。

1-首先转到itunesconnect并下载你的崩溃日志。 注意:大多数情况下,你可能会像"为要显示的报表提交的报告太少。"基本上没有足够的用户已经崩溃日志报告提交给苹果公司在这种情况下,你不能做什么。

enter image description here

enter image description here

2-现在如果你没有改变你的代码,因为你已经提交了你的二进制文件,然后为那个项目启动 Xcode,然后再做一个产品 --> 存档。 否则只查找你最近提交的二进制文件,然后右键单击它。

enter image description here

enter image description here

enter image description here

enter image description here

神奇的XCode管理器对symbolicating我的应用不是那么神奇。 我从一个失败的应用程序提交中返回的崩溃报告根本没有符号。

我尝试使用 command-line,将崩溃报告放在与. app 文件( 我提交到商店) 和. dSYM file: 相同的文件夹中


$ symbolicatecrash"My App_date_blahblah-iPhone.crash""My App.app"

这只提供符号为我的应用程序而不是核心基础代码,但它比组织者转储数量给我,足以让我找到并修复我的应用程序的崩溃。 如果有人知道如何扩展它以获得基础符号,那么很感激。

...