使用Flurry Crash Analytics来表示iOS 7崩溃报告

我最近为我的应用推出了iOS 7更新,并启用了崩溃分析功能.我最近注意到有些用户正在遇到崩溃.使用Flurry我可以在我的应用程序崩溃时检索堆栈跟踪,以跟踪问题.
那么,我确实很熟悉崩溃报告,并且已经修复了使用它们的错误,然后通过从iTunes Connect或邮件中获取它们,并在 Xcode中简单地表示它们.然而,我并没有使用Flurry做到这一点.

我试过的
在Flurry本身查看堆栈跟踪时,这是我得到的:

正如你所看到的,很多行都是完美的象征,其他的则被标示为<编辑>.
一些研究告诉我,苹果在iOS 6和7中剥离了很多调试符号.
我尝试的第一件事是上传自己的dSYM文件. Flurry报告dSYM文件被保存,并且崩溃报告再次被使用dSYM文件进行了符号化.然而,堆栈跟踪仍然与没有dSYM完全相同.
没问题,我想,我可以尝试下载崩溃报告,并使用Xcode进行符号化.
点击下载给我一个文件(没有扩展名,所以我将其重命名为.crash)与此内容:

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的内容复制到工作目录等,然后尝试这个命令

xcrun atos -arch armv7 -o RadioPlayer 0x31435387`

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

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

解决方法

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

>将文件重命名为.crash
>在报告顶部添加事件标识符行.这看起来像GUID,所以你可以把任何独特的或generate one online,例如

事件识别码:D1D6CA1F-EC87-4677-9366-401BE050B2C8
>添加iOS和崩溃报告版本行(高于异常类型),例如

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

报告版本:104

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...