【App Store】错误日志符号化

29381f30e924b899ecce9af46f061d950b7bf608
被APP Store拒绝后,如果是由于APP本身的原因导致崩溃,一般是无法告知你问题所在的,只会提供一个.Crash的错误日志,咋一看起来,日志内容是无法被人肉识别的,更别提分析错误了,这时候就需要对其进行符号化,具体过程如下:
1、登陆itunesconne,进入解决方案中心:
Image
2、下载.Crash日志文件:
ImageImageImage
3、文件格式一般如下:
#1、进程信息
Incident Identifier: 567E6F3B-80B8-471D-ABDA-1E302F98B40F
CrashReporter Key:   1b046247bcda31f5730382cc9312215094f98bb9
Hardware Model:      xxx
Process:             BoyingCaptial [411]
Path:                /private/var/mobile/Containers/Bundle/Application/FF0F7FE9-B922-451A-A79D-0F6A7FFEE61B/BoyingCaptial.app/BoyingCaptial
Identifier:          com.boying.BoyingCaptial
Version:             1.3.5 (1.3.5)
Code Type:           ARM-64 (Native)
Parent Process:      launchd [1]
#2、基本信息
Date/Time:           2015-08-17 10:55:34.164 -0700
Launch Time:         2015-08-17 10:55:30.884 -0700
OS Version:          iOS 8.4.1 (12H321)
Report Version:      105
#3、异常信息
Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread:  0
#4、Crash调用堆栈
Last Exception Backtrace:
(0x18205422c 0x193c240e4 0x18205416c 0x182e88824 0x182e8ee14 0x10009a788 0x100099498 0x1000310fc 0x1942a1994 0x1942a1954 0x1942a620c 0x18200b544 0x1820095ec 0x181f34f74 0x18b8676fc 0x186b36d94 0x1000d637c 0x1942cea08)
#5、Crash线程回溯
Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib             0x00000001943e7270 0x1943cc000 + 111216
1   libsystem_pthread.dylib            0x000000019448515c 0x194480000 + 20828
2   libsystem_c.dylib                  0x000000019435eb1c 0x1942fc000 + 404252
3   libsystem_c.dylib                  0x000000019435eaa8 0x1942fc000 + 404136
4   libc++abi.dylib                    0x00000001933f1414 0x1933f0000 + 5140
5   libc++abi.dylib                    0x0000000193410b88 0x1933f0000 + 134024
6   libobjc.A.dylib                    0x0000000193c243bc 0x193c1c000 + 33724
7   BoyingCaptial                      0x000000010016e1bc 0x100004000 + 1483196
8   libc++abi.dylib                    0x000000019340dbb0 0x1933f0000 + 121776
9   libc++abi.dylib                    0x000000019340d474 0x1933f0000 + 119924
10  libobjc.A.dylib                    0x0000000193c24200 0x193c1c000 + 33280
11  CoreFoundation                     0x0000000182054168 0x181f2c000 + 1212776
12  Foundation                         0x0000000182e88820 0x182e60000 + 165920
13  Foundation                         0x0000000182e8ee10 0x182e60000 + 192016
14  BoyingCaptial                      0x000000010009a784 0x100004000 + 616324
15  BoyingCaptial                      0x0000000100099494 0x100004000 + 611476
16  BoyingCaptial                      0x00000001000310f8 0x100004000 + 184568
17  libdispatch.dylib                  0x00000001942a1990 0x1942a0000 + 6544
18  libdispatch.dylib                  0x00000001942a1950 0x1942a0000 + 6480
19  libdispatch.dylib                  0x00000001942a6208 0x1942a0000 + 25096
20  CoreFoundation                     0x000000018200b540 0x181f2c000 + 914752
21  CoreFoundation                     0x00000001820095e8 0x181f2c000 + 906728
22  CoreFoundation                     0x0000000181f34f70 0x181f2c000 + 36720
23  GraphicsServices                   0x000000018b8676f8 0x18b85c000 + 46840
24  UIKit                              0x0000000186b36d90 0x186ac0000 + 486800
25  BoyingCaptial                      0x00000001000d6378 0x100004000 + 861048
26  libdyld.dylib                      0x00000001942cea04 0x1942cc000 + 10756
Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib             0x00000001943ccc24 0x1943cc000 + 3108
1   libdispatch.dylib                  0x00000001942b1e6c 0x1942a0000 + 73324
2   libdispatch.dylib                  0x00000001942a3998 0x1942a0000 + 14744
#6、动态库信息
Binary Images:
0x100004000 – 0x1001d7fff BoyingCaptial arm64  <c54d1ff7a496377682b367e4367724e7> /var/mobile/Containers/Bundle/Application/FF0F7FE9-B922-451A-A79D-0F6A7FFEE61B/BoyingCaptial.app/BoyingCaptial
0x120048000 – 0x12006ffff dyld arm64  <dddc36a8e70636f7a9fea757477bf90b> /usr/lib/dyld
0x180a38000 – 0x180a38fff Accelerate arm64  <8e155c8b26b133a28f7578ef67aacc38> /System/Library/Frameworks/Accelerate.framework/Accelerate
0x180a3c000 – 0x180a4efff libCGInterfaces.dylib arm64  &lt;bceab07321723c4ea6fa01e58e3ca63f&gt; /System/Library/Frameworks/Accelerate.framework/Frameworks/vImage.framework/Libraries/libCGInterfaces.dylib</pre>
4、进入Organizer
Image
5、找出提交审核APP的对应Archive版本,并导出到本地
Image
Image
6、解压本地导出的ipa文件:
Image
7、找出错误日志中的如下信息:
BinaryImage、Architectures:
Image
Path:
Image
8、命令行cd到解压出来的文件目录下,找到Payload下的.app文件,执行如下命令
atos -arch arm64 -o APPName.app/BoyingCaptial -l 0x100004000 0x000000010009a784
9、出错信息就会显示出来:
Image