我最近为我的应用推出了iOS 7更新,并启用了崩溃分析
功能.我最近注意到有些
用户正在遇到崩溃.使用Flurry我可以在我的应用程序崩溃时检索堆栈跟踪,以跟踪问题.
那么,我确实很熟悉崩溃报告,并且已经修复了使用它们的
错误,然后通过从iTu
nes Connect或
邮件中
获取它们,并在
Xcode中简单地表示它们.然而,我并没有使用Flurry做到这一点.
我试过的
在Flurry本身查看堆栈跟踪时,这是我得到的:
正如你所看到的,很多行都是完美的象征,其他的则被标示为<编辑>.
一些研究告诉我,苹果在iOS 6和7中剥离了很多调试符号.
我尝试的第一件事是上传自己的dSym文件. Flurry报告dSym文件被保存,并且崩溃报告再次被使用dSym文件进行了符号化.然而,堆栈跟踪仍然与没有dSym完全相同.
没问题,我想,我可以尝试下载崩溃报告,并使用Xcode进行符号化.
点击下载给我一个文件(没有扩展名,所以我将其重命名为.crash)与此内容:
@H_
607_12@Hardware Model: iPhone3,1
Process: Ra
dioPlayer [296
5]
Path: /var/mobile/Applications/E4DD7DA6-4
450-4538-A1E2-AE23139FAC10/Ra
dioPlayer.app/Ra
dioPlayer
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 libsy
stem_kerne
l.dylib 0x3aa67a8c _mach_msg_trap + 20
1 CoreFoundation 0x
3015e7cb <redacted> + 154
2 CoreFoundation 0x
3015cf37 <redacted> + 854
3 CoreFoundation 0x300c7ce7 _CFRunLoopRunSpecific + 52
2
4 CoreFoundation 0x300c7
ACB _CFRunLoopRunInMode + 106
5 Graphics
services 0x34da0283 _GSEventRunModal + 138
6 UIKit 0x32969a41 _UIApplicationMain + 1136
7 Ra
dioPlayer 0x000dfb9b __mh_execute_header + 23451
8 libdyld.dylib 0x3a9c3ab7 <redacted> + 2
Thread 1:
0 libsy
stem_kerne
l.dylib 0x3aa6783c _kevent64 + 24
1 libdispatch.dylib 0x3a9a23f3 <redacted> + 38
Thread 2 Crashed:
0 vImage 0x2f19d7dc <redacted> + 139
1 vImage 0x2f1
874ff _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 _CGImageDes
TinationFinalize + 66
9 UIKit 0x32a8a611 _UIImageJPEGRepresentation + 520
10 MediaPlayer 0x31435319 -[MPMediaItemArtwork imageDataWithSize:atPlay
BACkTime:] + 36
11 MediaPlayer 0x31435387 -[MPMediaItemArtwork albumImageDataWithSize:] + 42
12 MediaPlayer 0x31494f0d -[MP
NowPlayingInfoCenter _push
NowPlayingInfoAndRetry:] + 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 libsy
stem_pthread.dylib 0x3aae0dbf __pthread_wqthread + 298
19 libsy
stem_pthread.dylib 0x3aae0c84 _start_wqthread + 8
// The file con
Tinues like this lis
Ting the other threads and overview of binary image
s.
// I however didn't paste that part here since I don't think it's usefu
l.
我现在尝试将这个文件拖到Xcode管理器并导入设备日志.两者根本没有.列表中还没有显示新的设备登录或其他任何内容.
下一步:尝试使用atos手动表示崩溃日志.我将dSym的内容复制到工作目录等,然后尝试这个命令
@H_
607_12@xcrun atos -arch armv7 -o Ra
dioPlayer 0x31435387`
这返回0x31435387.我尝试了一些其他内存地址,每次输出都是内存地址本身.
有人可以帮我解决这个问题吗?我真的很想象征这些<编纂>符号,因为它肯定会帮助我修复导致这些崩溃的错误.谢谢!