iPhone - 如何使用 XCode 4 符号化/翻译/读取设备崩溃日志
我如何“翻译”/符号化来自我的设备的崩溃日志以了解应用程序崩溃的位置,假设我运行了调试版本,我有 .crash 文件以及与发送的文件相对应的 .app 和 .app.dSYM 文件到设备。
界面(没有命令行)解决方案将不胜感激,因为据说组织者知道如何做到这一点(但我该死的不知道如何做)。如果没有这种解决方案,那么...
PS:我在任何地方都没有符号崩溃
编辑,
我使用atos命令获得了某种结果。
我的崩溃日志如下:
Thread 0 Crashed:
0 MapKit 0x31c0933c 0x31be4000 + 152380
1 MapKit 0x31c0931c 0x31be4000 + 152348
2 MapKit 0x31c26118 0x31be4000 + 270616
3 Foundation 0x33628a36 0x33619000 + 64054
4 Foundation 0x336280f6 0x33619000 + 61686
5 Foundation 0x336202c0 0x33619000 + 29376
6 Foundation 0x3368552c 0x33619000 + 443692
7 CoreFoundation 0x33a69ae6 0x33a20000 + 301798
8 CoreFoundation 0x33a69858 0x33a20000 + 301144
9 MapKit 0x31c560c6 0x31be4000 + 467142
10 MapKit 0x31c55e54 0x31be4000 + 466516
11 MapKit 0x31c23414 0x31be4000 + 259092
12 CoreFoundation 0x33a5ebb8 0x33a20000 + 256952
13 CoreFoundation 0x33a83266 0x33a20000 + 406118
14 MapKit 0x31c1232a 0x31be4000 + 189226
15 MapKit 0x31c13844 0x31be4000 + 194628
16 MapKit 0x31c134b8 0x31be4000 + 193720
17 CoreLocation 0x34371410 0x34369000 + 33808
18 CoreLocation 0x3436f68e 0x34369000 + 26254
19 CoreLocation 0x3436f7e6 0x34369000 + 26598
20 CoreLocation 0x3436b534 0x34369000 + 9524
21 CoreLocation 0x3436d3cc 0x34369000 + 17356
22 CoreLocation 0x3436d512 0x34369000 + 17682
23 CoreFoundation 0x33a813fe 0x33a20000 + 398334
24 CoreFoundation 0x33a556f8 0x33a20000 + 218872
25 CoreFoundation 0x33a556bc 0x33a20000 + 218812
26 CoreFoundation 0x33a47f76 0x33a20000 + 163702
27 CoreFoundation 0x33a47c80 0x33a20000 + 162944
28 CoreFoundation 0x33a47b88 0x33a20000 + 162696
29 GraphicsServices 0x33b0e4a4 0x33b0a000 + 17572
30 GraphicsServices 0x33b0e550 0x33b0a000 + 17744
31 UIKit 0x32099322 0x32062000 + 226082
32 UIKit 0x32096e8c 0x32062000 + 216716
33 MyApptest 0x0000366c 0x1000 + 9836
34 MyApptest 0x00002660 0x1000 + 5728
Thread 1:
0 libSystem.B.dylib 0x33b89974 0x33b5c000 + 186740
1 libSystem.B.dylib 0x33c33704 0x33b5c000 + 882436
2 libSystem.B.dylib 0x33c33174 0x33b5c000 + 881012
3 libSystem.B.dylib 0x33c32b98 0x33b5c000 + 879512
4 libSystem.B.dylib 0x33bd724a 0x33b5c000 + 504394
5 libSystem.B.dylib 0x33bcf970 0x33b5c000 + 473456
Thread 2:
0 libSystem.B.dylib 0x33b5d268 0x33b5c000 + 4712
1 libSystem.B.dylib 0x33b5f354 0x33b5c000 + 13140
2 CoreFoundation 0x33a48648 0x33a20000 + 165448
3 CoreFoundation 0x33a47ed2 0x33a20000 + 163538
4 CoreFoundation 0x33a47c80 0x33a20000 + 162944
5 CoreFoundation 0x33a47b88 0x33a20000 + 162696
6 WebCore 0x304df124 0x30428000 + 749860
7 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
8 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 3:
0 libSystem.B.dylib 0x33b5d268 0x33b5c000 + 4712
1 libSystem.B.dylib 0x33b5f354 0x33b5c000 + 13140
2 CoreFoundation 0x33a48648 0x33a20000 + 165448
3 CoreFoundation 0x33a47ed2 0x33a20000 + 163538
4 CoreFoundation 0x33a47c80 0x33a20000 + 162944
5 CoreFoundation 0x33a47b88 0x33a20000 + 162696
6 Foundation 0x336465f6 0x33619000 + 185846
7 Foundation 0x33624192 0x33619000 + 45458
8 Foundation 0x3361d242 0x33619000 + 16962
9 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
10 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 4:
0 libSystem.B.dylib 0x33b5d268 0x33b5c000 + 4712
1 libSystem.B.dylib 0x33b5f354 0x33b5c000 + 13140
2 CoreFoundation 0x33a48648 0x33a20000 + 165448
3 CoreFoundation 0x33a47ed2 0x33a20000 + 163538
4 CoreFoundation 0x33a47c80 0x33a20000 + 162944
5 CoreFoundation 0x33a47b88 0x33a20000 + 162696
6 MapKit 0x31be8906 0x31be4000 + 18694
7 MapKit 0x31be87ea 0x31be4000 + 18410
8 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
9 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 5:
0 libz.1.dylib 0x314b1842 0x314ad000 + 18498
1 ImageIO 0x31aa0230 0x31a97000 + 37424
2 ImageIO 0x31a9f410 0x31a97000 + 33808
3 ImageIO 0x31a9e0d2 0x31a97000 + 28882
4 ImageIO 0x31a9dade 0x31a97000 + 27358
5 CoreGraphics 0x341ca052 0x341c1000 + 36946
6 CoreGraphics 0x341c9f5c 0x341c1000 + 36700
7 CoreGraphics 0x341c9c8a 0x341c1000 + 35978
8 CoreGraphics 0x341e6e1a 0x341c1000 + 155162
9 CoreGraphics 0x341f886a 0x341c1000 + 227434
10 CoreGraphics 0x341c5e90 0x341c1000 + 20112
11 CoreGraphics 0x341c4668 0x341c1000 + 13928
12 libRIP.A.dylib 0x337a3658 0x33797000 + 50776
13 libRIP.A.dylib 0x337a0c6e 0x33797000 + 40046
14 CoreGraphics 0x341c4520 0x341c1000 + 13600
15 CoreGraphics 0x341c43de 0x341c1000 + 13278
16 MapKit 0x31bf6a12 0x31be4000 + 76306
17 MapKit 0x31bf6644 0x31be4000 + 75332
18 QuartzCore 0x3410e2fe 0x340f9000 + 86782
19 QuartzCore 0x3412ed26 0x340f9000 + 220454
20 QuartzCore 0x3412e7e8 0x340f9000 + 219112
21 QuartzCore 0x3412e6a0 0x340f9000 + 218784
22 QuartzCore 0x3412e614 0x340f9000 + 218644
23 QuartzCore 0x340fb01a 0x340f9000 + 8218
24 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
25 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 6:
0 libSystem.B.dylib 0x33b8168c 0x33b5c000 + 153228
1 CoreFoundation 0x33a7f662 0x33a20000 + 390754
2 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
3 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 7:
0 libSystem.B.dylib 0x33b5d268 0x33b5c000 + 4712
1 libSystem.B.dylib 0x33b5f354 0x33b5c000 + 13140
2 CoreFoundation 0x33a48648 0x33a20000 + 165448
3 CoreFoundation 0x33a47ed2 0x33a20000 + 163538
4 CoreFoundation 0x33a47c80 0x33a20000 + 162944
5 CoreFoundation 0x33a47b88 0x33a20000 + 162696
6 MapKit 0x31bf327e 0x31be4000 + 62078
7 Foundation 0x33624192 0x33619000 + 45458
8 Foundation 0x3361d242 0x33619000 + 16962
9 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
10 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 8:
0 libSystem.B.dylib 0x33bd79e0 0x33b5c000 + 506336
1 libSystem.B.dylib 0x33bd7364 0x33b5c000 + 504676
2 libSystem.B.dylib 0x33bcf970 0x33b5c000 + 473456
Thread 9:
0 libSystem.B.dylib 0x33bd79e0 0x33b5c000 + 506336
1 libSystem.B.dylib 0x33bd7364 0x33b5c000 + 504676
2 libSystem.B.dylib 0x33bcf970 0x33b5c000 + 473456
Thread 0 crashed with ARM Thread State:
r0: 0x00000000 r1: 0x41a00000 r2: 0x00000000 r3: 0x41a00000
r4: 0x00000000 r5: 0x32373953 r6: 0x00153120 r7: 0x2fdfe52c
r8: 0x001e0cb0 r9: 0x001c62e8 r10: 0x00155a20 r11: 0x00153120
ip: 0x2fdfe45c sp: 0x2fdfe4f8 lr: 0x2fdfe4f8 pc: 0x31c0933c
cpsr: 0x600f0030
在第 33 行和第 34 行使用 atos 命令返回一些综合结果。在第 0 行使用它只会返回给定的参数值 0x31c0933c。
这是否意味着应用程序崩溃到了mapKit并且我无能为力?
How may I "translate" / symbolicate the crashlog coming from my device to know where the app crashed, assuming I ran a debug build, I have the .crash file, and the .app, and .app.dSYM files corresponding to those sent to the device.
An interface (without command line) solution would be appreciated as it is said that the organiser knows how to do that (but I damn don't find how to). If there are no solution of that kind, so...
P.S. : I have no symbolicatecrash anywhere
EDIT
I achieved to have some kind of result with the atos command.
My crashlog is the following :
Thread 0 Crashed:
0 MapKit 0x31c0933c 0x31be4000 + 152380
1 MapKit 0x31c0931c 0x31be4000 + 152348
2 MapKit 0x31c26118 0x31be4000 + 270616
3 Foundation 0x33628a36 0x33619000 + 64054
4 Foundation 0x336280f6 0x33619000 + 61686
5 Foundation 0x336202c0 0x33619000 + 29376
6 Foundation 0x3368552c 0x33619000 + 443692
7 CoreFoundation 0x33a69ae6 0x33a20000 + 301798
8 CoreFoundation 0x33a69858 0x33a20000 + 301144
9 MapKit 0x31c560c6 0x31be4000 + 467142
10 MapKit 0x31c55e54 0x31be4000 + 466516
11 MapKit 0x31c23414 0x31be4000 + 259092
12 CoreFoundation 0x33a5ebb8 0x33a20000 + 256952
13 CoreFoundation 0x33a83266 0x33a20000 + 406118
14 MapKit 0x31c1232a 0x31be4000 + 189226
15 MapKit 0x31c13844 0x31be4000 + 194628
16 MapKit 0x31c134b8 0x31be4000 + 193720
17 CoreLocation 0x34371410 0x34369000 + 33808
18 CoreLocation 0x3436f68e 0x34369000 + 26254
19 CoreLocation 0x3436f7e6 0x34369000 + 26598
20 CoreLocation 0x3436b534 0x34369000 + 9524
21 CoreLocation 0x3436d3cc 0x34369000 + 17356
22 CoreLocation 0x3436d512 0x34369000 + 17682
23 CoreFoundation 0x33a813fe 0x33a20000 + 398334
24 CoreFoundation 0x33a556f8 0x33a20000 + 218872
25 CoreFoundation 0x33a556bc 0x33a20000 + 218812
26 CoreFoundation 0x33a47f76 0x33a20000 + 163702
27 CoreFoundation 0x33a47c80 0x33a20000 + 162944
28 CoreFoundation 0x33a47b88 0x33a20000 + 162696
29 GraphicsServices 0x33b0e4a4 0x33b0a000 + 17572
30 GraphicsServices 0x33b0e550 0x33b0a000 + 17744
31 UIKit 0x32099322 0x32062000 + 226082
32 UIKit 0x32096e8c 0x32062000 + 216716
33 MyApptest 0x0000366c 0x1000 + 9836
34 MyApptest 0x00002660 0x1000 + 5728
Thread 1:
0 libSystem.B.dylib 0x33b89974 0x33b5c000 + 186740
1 libSystem.B.dylib 0x33c33704 0x33b5c000 + 882436
2 libSystem.B.dylib 0x33c33174 0x33b5c000 + 881012
3 libSystem.B.dylib 0x33c32b98 0x33b5c000 + 879512
4 libSystem.B.dylib 0x33bd724a 0x33b5c000 + 504394
5 libSystem.B.dylib 0x33bcf970 0x33b5c000 + 473456
Thread 2:
0 libSystem.B.dylib 0x33b5d268 0x33b5c000 + 4712
1 libSystem.B.dylib 0x33b5f354 0x33b5c000 + 13140
2 CoreFoundation 0x33a48648 0x33a20000 + 165448
3 CoreFoundation 0x33a47ed2 0x33a20000 + 163538
4 CoreFoundation 0x33a47c80 0x33a20000 + 162944
5 CoreFoundation 0x33a47b88 0x33a20000 + 162696
6 WebCore 0x304df124 0x30428000 + 749860
7 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
8 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 3:
0 libSystem.B.dylib 0x33b5d268 0x33b5c000 + 4712
1 libSystem.B.dylib 0x33b5f354 0x33b5c000 + 13140
2 CoreFoundation 0x33a48648 0x33a20000 + 165448
3 CoreFoundation 0x33a47ed2 0x33a20000 + 163538
4 CoreFoundation 0x33a47c80 0x33a20000 + 162944
5 CoreFoundation 0x33a47b88 0x33a20000 + 162696
6 Foundation 0x336465f6 0x33619000 + 185846
7 Foundation 0x33624192 0x33619000 + 45458
8 Foundation 0x3361d242 0x33619000 + 16962
9 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
10 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 4:
0 libSystem.B.dylib 0x33b5d268 0x33b5c000 + 4712
1 libSystem.B.dylib 0x33b5f354 0x33b5c000 + 13140
2 CoreFoundation 0x33a48648 0x33a20000 + 165448
3 CoreFoundation 0x33a47ed2 0x33a20000 + 163538
4 CoreFoundation 0x33a47c80 0x33a20000 + 162944
5 CoreFoundation 0x33a47b88 0x33a20000 + 162696
6 MapKit 0x31be8906 0x31be4000 + 18694
7 MapKit 0x31be87ea 0x31be4000 + 18410
8 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
9 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 5:
0 libz.1.dylib 0x314b1842 0x314ad000 + 18498
1 ImageIO 0x31aa0230 0x31a97000 + 37424
2 ImageIO 0x31a9f410 0x31a97000 + 33808
3 ImageIO 0x31a9e0d2 0x31a97000 + 28882
4 ImageIO 0x31a9dade 0x31a97000 + 27358
5 CoreGraphics 0x341ca052 0x341c1000 + 36946
6 CoreGraphics 0x341c9f5c 0x341c1000 + 36700
7 CoreGraphics 0x341c9c8a 0x341c1000 + 35978
8 CoreGraphics 0x341e6e1a 0x341c1000 + 155162
9 CoreGraphics 0x341f886a 0x341c1000 + 227434
10 CoreGraphics 0x341c5e90 0x341c1000 + 20112
11 CoreGraphics 0x341c4668 0x341c1000 + 13928
12 libRIP.A.dylib 0x337a3658 0x33797000 + 50776
13 libRIP.A.dylib 0x337a0c6e 0x33797000 + 40046
14 CoreGraphics 0x341c4520 0x341c1000 + 13600
15 CoreGraphics 0x341c43de 0x341c1000 + 13278
16 MapKit 0x31bf6a12 0x31be4000 + 76306
17 MapKit 0x31bf6644 0x31be4000 + 75332
18 QuartzCore 0x3410e2fe 0x340f9000 + 86782
19 QuartzCore 0x3412ed26 0x340f9000 + 220454
20 QuartzCore 0x3412e7e8 0x340f9000 + 219112
21 QuartzCore 0x3412e6a0 0x340f9000 + 218784
22 QuartzCore 0x3412e614 0x340f9000 + 218644
23 QuartzCore 0x340fb01a 0x340f9000 + 8218
24 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
25 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 6:
0 libSystem.B.dylib 0x33b8168c 0x33b5c000 + 153228
1 CoreFoundation 0x33a7f662 0x33a20000 + 390754
2 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
3 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 7:
0 libSystem.B.dylib 0x33b5d268 0x33b5c000 + 4712
1 libSystem.B.dylib 0x33b5f354 0x33b5c000 + 13140
2 CoreFoundation 0x33a48648 0x33a20000 + 165448
3 CoreFoundation 0x33a47ed2 0x33a20000 + 163538
4 CoreFoundation 0x33a47c80 0x33a20000 + 162944
5 CoreFoundation 0x33a47b88 0x33a20000 + 162696
6 MapKit 0x31bf327e 0x31be4000 + 62078
7 Foundation 0x33624192 0x33619000 + 45458
8 Foundation 0x3361d242 0x33619000 + 16962
9 libSystem.B.dylib 0x33bd6886 0x33b5c000 + 501894
10 libSystem.B.dylib 0x33bcba88 0x33b5c000 + 457352
Thread 8:
0 libSystem.B.dylib 0x33bd79e0 0x33b5c000 + 506336
1 libSystem.B.dylib 0x33bd7364 0x33b5c000 + 504676
2 libSystem.B.dylib 0x33bcf970 0x33b5c000 + 473456
Thread 9:
0 libSystem.B.dylib 0x33bd79e0 0x33b5c000 + 506336
1 libSystem.B.dylib 0x33bd7364 0x33b5c000 + 504676
2 libSystem.B.dylib 0x33bcf970 0x33b5c000 + 473456
Thread 0 crashed with ARM Thread State:
r0: 0x00000000 r1: 0x41a00000 r2: 0x00000000 r3: 0x41a00000
r4: 0x00000000 r5: 0x32373953 r6: 0x00153120 r7: 0x2fdfe52c
r8: 0x001e0cb0 r9: 0x001c62e8 r10: 0x00155a20 r11: 0x00153120
ip: 0x2fdfe45c sp: 0x2fdfe4f8 lr: 0x2fdfe4f8 pc: 0x31c0933c
cpsr: 0x600f0030
Using the atos command on line 33 and 34 return some comprehensive result. Using it on line 0 just returns the given param value 0x31c0933c.
Does that mean that the app crashed into the mapKit and that I can't do anything ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
据我所知,最好的方法是您需要从构建菜单中对代码进行“构建和存档”。只要您的 XCode 中有特定应用程序的存档版本,当您从设备导入任何相关的崩溃日志时,它们就会自动符号化。
编辑:
还发现了这个问题,它可能会揭示一些好的提示;
符号化 iPhone 应用程序崩溃报告
The best way that I know of it that you need to do a 'Build and Archive' of your code from the build menu. As long as you have an archived version of a particular app in your XCode, when you import any relevant crash logs from a device, they will be automatically symbolicated.
EDIT:
Also found this question which might shed some light on some good tips;
Symbolicating iPhone App Crash Reports
这是您必须使用的命令:
This is the command you must use: