使用Flurry Crash Analytics对iOS 7崩溃报告进行符号化 [英] Symbolicating an iOS 7 crash report using Flurry Crash Analytics

查看:669
本文介绍了使用Flurry Crash Analytics对iOS 7崩溃报告进行符号化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近为我的应用程序推出了iOS 7更新,并在启用崩溃报告的情况下实施了Flurry Analytics。我最近注意到一些用户遇到了崩溃。使用Flurry我可以在我的应用程序崩溃时检索堆栈跟踪以追踪问题。

好​​吧,我当然熟悉崩溃报告并且已经修复了以前使用它们从iTunes Connect获取它们的错误或邮件,并在Xcode中简单地象征它们。然而,我没有成功使用Flurry。

I recently pushed an iOS 7 update for my application and implemented Flurry Analytics with crash reporting enabled. I recently noticed some users are experiencing crashes. Using Flurry I can retrieve the stack trace at the moment my app crashed to track down the issue.
Well, I'm certainly familiar with crash reports and already fixed bugs using them before by getting them from iTunes Connect or mail and simply symbolicating them in Xcode. I however don't succeed at doing that using Flurry.

我尝试了什么:

查看堆栈跟踪时在Flurry上,这就是我得到的:

尽可能看,很多线条都是完美的象征,其他线条象征着< redacted>
一些研究了解到Apple在iOS 6和7中删除了很多调试符号。

我尝试的第一件事是上传我自己的dSYM文件。 Flurry报告已保存dSYM文件,并使用dSYM文件再次对崩溃报告进行符号化。然而,堆栈跟踪仍然与没有dSYM完全相同。

没问题,我想,我可以尝试下载崩溃报告并使用Xcode对其进行符号化。
点击 download 给我一个文件(没有扩展名,所以我将其重命名为 .crash ),内容如下:

What I tried:
When viewing the stack trace on Flurry itself, this is what I get: As you can see, a lot of lines are perfectly symbolicated, others are symbolicated to <redacted>. Some research learned me that Apple stripped a lot of debug symbols in iOS 6 and 7.
First thing I tried was uploading my own dSYM file. Flurry reported the dSYM file was saved and crash reports were symbolicated again using the dSYM file. The stack trace was however still exactly the same as without a dSYM.
No problem, I thought, I could just try to download the crash report and symbolicate it using Xcode. Clicking on download gives me a file (without extension, so I renamed it to .crash) with this content:

Hardware Model:      iPhone3,1
Process:         RadioPlayer [2965]
Path:            /var/mobile/Applications/E4DD7DA6-4450-4538-A1E2-AE23139FAC10/RadioPlayer.app/RadioPlayer
Identifier:      *******
Version:         1.2.0
Code Type:       ARM
Parent Process:  launchd [1]

Exception Type:  SIGSEGV
Exception Codes: SEGV_ACCERR at 0x548a000
Crashed Thread:  2

Thread 0:
0   libsystem_kernel.dylib              0x3aa67a8c _mach_msg_trap + 20
1   CoreFoundation                      0x3015e7cb <redacted> + 154
2   CoreFoundation                      0x3015cf37 <redacted> + 854
3   CoreFoundation                      0x300c7ce7 _CFRunLoopRunSpecific + 522
4   CoreFoundation                      0x300c7acb _CFRunLoopRunInMode + 106
5   GraphicsServices                    0x34da0283 _GSEventRunModal + 138
6   UIKit                               0x32969a41 _UIApplicationMain + 1136
7   RadioPlayer                         0x000dfb9b __mh_execute_header + 23451
8   libdyld.dylib                       0x3a9c3ab7 <redacted> + 2

Thread 1:
0   libsystem_kernel.dylib              0x3aa6783c _kevent64 + 24
1   libdispatch.dylib                   0x3a9a23f3 <redacted> + 38

Thread 2 Crashed:
0   vImage                              0x2f19d7dc <redacted> + 139
1   vImage                              0x2f1874ff _vImageFlatten_RGBA8888 + 378
2   vImage                              0x2f26e799 <redacted> + 40
3   vImage                              0x2f27d7c3 <redacted> + 674
4   vImage                              0x2f27d365 _vImageConvert_AnyToAny + 1300
5   ImageIO                             0x30efd9e7 <redacted> + 858
6   ImageIO                             0x30ef8c3b <redacted> + 2754
7   ImageIO                             0x30ef8173 <redacted> + 102
8   ImageIO                             0x30ef8057 _CGImageDestinationFinalize + 66
9   UIKit                               0x32a8a611 _UIImageJPEGRepresentation + 520
10  MediaPlayer                         0x31435319 -[MPMediaItemArtwork imageDataWithSize:atPlaybackTime:] + 36
11  MediaPlayer                         0x31435387 -[MPMediaItemArtwork albumImageDataWithSize:] + 42
12  MediaPlayer                         0x31494f0d -[MPNowPlayingInfoCenter _pushNowPlayingInfoAndRetry:] + 824
13  libdispatch.dylib                   0x3a99ed7b <redacted> + 10
14  libdispatch.dylib                   0x3a99f2f3 <redacted> + 378
15  libdispatch.dylib                   0x3a99f75b <redacted> + 38
16  libdispatch.dylib                   0x3a9b18f9 <redacted> + 76
17  libdispatch.dylib                   0x3a9b1b79 <redacted> + 56
18  libsystem_pthread.dylib             0x3aae0dbf __pthread_wqthread + 298
19  libsystem_pthread.dylib             0x3aae0c84 _start_wqthread + 8


// The file continues like this listing the other threads and overview of binary images.
// I however didn't paste that part here since I don't think it's useful.

我现在尝试将这个文件拖入Xcode组织器并导入设备日志。两者都没有做到。列表中没有出现新设备日志或其他任何内容。

下一步:尝试使用 atos 手动表示崩溃日志。我将dSYM的内容复制到工作目录等,然后尝试了这个命令

I now tried both simply dragging this file into the Xcode organizer and importing device logs. Both did simply nothing. There didn't appear a new device log in the list or anything else.
Next step: trying to symbolicate the crash log manually using atos. I copied the content of the dSYM to the working directory etc and then tried this command

xcrun atos -arch armv7 -o RadioPlayer 0x31435387`

这返回 0x31435387 。我尝试了一些其他的内存地址,输出每次只是内存地址本身。

This returned 0x31435387. I tried some other memory addresses and the output was each time just the memory address itself.

任何人都可以帮我解决这个问题吗?我真的很想象征这些< redacted> 符号,因为它肯定会帮助我修复导致这些崩溃的错误。谢谢!

Can anybody please help me with this issue? I would really love to symbolicate these <redacted> symbols since it would certainly help me to fix the bug that leads to those crashes. Thanks!

推荐答案

我注意到为了能够将Flurry崩溃报告拖到XCode Organizer,您需要:

I noticed that in order to be able to drag the Flurry crash report to XCode Organizer you need to:


  1. 将文件重命名为.crash

  2. 在顶部添加事件标识符行报告。这看起来像一个GUID,所以你可以把任何独特的东西或在线生成一个,例如

事件标识符:D1D6CA1F-EC87-4677-9366-401BE050B2C8

Incident Identifier: D1D6CA1F-EC87-4677-9366-401BE050B2C8

添加iOS和崩溃报告版本行(在例外类型上方),例如

Add iOS and Crash Report version lines (just above the Exception Type), e.g.

操作系统版本:iOS 7.1.1(11D201)

OS Version: iOS 7.1.1 (11D201)

报告版本:104

这篇关于使用Flurry Crash Analytics对iOS 7崩溃报告进行符号化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆