Как проанализировать журнал устройства iPhone? - PullRequest
1 голос
/ 14 июля 2010

Может кто-нибудь сказать мне, как анализировать журнал устройства iPhone?

Кроме того, кто-нибудь может объяснить, что означает следующее?

0   libobjc.A.dylib                0x00007dd2 prepareForMethodLookup + 10",

Thread 0 Crashed:
0   libobjc.A.dylib                0x00007dd2 prepareForMethodLookup + 10
1   libobjc.A.dylib                0x00005162 lookUpMethod + 34
2   libobjc.A.dylib                0x0000290e _class_lookupMethodAndLoadCache + 6
3   libobjc.A.dylib                0x00002644 objc_msgSend_uncached + 20
4   iPad4HB                        0x0002f112 0x1000 + 188690
5   iPad4HB                        0x00010c86 0x1000 + 64646
6   CoreFoundation                 0x00025166 -[NSObject performSelector:withObject:withObject:] + 18
7   UIKit                          0x00055166 -[UIApplication sendAction:to:from:forEvent:] + 78
8   UIKit                          0x00055106 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26
9   UIKit                          0x000550d8 -[UIControl sendAction:to:forEvent:] + 32
10  UIKit                          0x00054e2a -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 350
11  UIKit                          0x0019a4f2 -[UISlider endTrackingWithTouch:withEvent:] + 166
12  UIKit                          0x00055444 -[UIControl touchesEnded:withEvent:] + 284
13  UIKit                          0x00053e4e -[UIWindow _sendTouchesForEvent:] + 322
14  UIKit                          0x00053796 -[UIWindow sendEvent:] + 74
15  UIKit                          0x0004f3b8 -[UIApplication sendEvent:] + 260
16  UIKit                          0x0004ed24 _UIApplicationHandleEvent + 4772
17  GraphicsServices               0x00003b2c PurpleEventCallback + 660
18  CoreFoundation                 0x00022d96 CFRunLoopRunSpecific + 2214
19  CoreFoundation                 0x000224da CFRunLoopRunInMode + 42
20  GraphicsServices               0x000030d4 GSEventRunModal + 108
21  GraphicsServices               0x00003180 GSEventRun + 56
22  UIKit                          0x000034c2 -[UIApplication _run] + 374
23  UIKit                          0x000019ec UIApplicationMain + 636
24  iPad4HB                        0x00002d68 0x1000 + 7528
25  iPad4HB                        0x00002d1c 0x1000 + 7452

1 Ответ

6 голосов
/ 14 июля 2010

То, на что вы смотрите - это трассировка стека. Он показывает все вызовы функций и методов, которые ваше приложение выполняло в определенном потоке. До момента, когда он упал.

Первая строка («расстояние» 0) - это самое последнее местоположение. Так что это место, где приложение, скорее всего, рухнуло.

Последняя строка («расстояние» 25) - это начало приложения.

libobjc.A.dylib - это место, где произошло сбой приложения. Это может показать библиотеки (libobjc.A.dylib), фреймворки (UIKit) и ваше приложение (iPad4HB).

Шестнадцатеричное число (0x00007dd2) - это место в памяти этой конкретной функции или метода.

В следующем столбце отображается фактическое имя функции или метода. Где prepareForMethodLookup - простая функция C, а -[NSObject performSelector:withObject:] - метод.

«+ 10» указывает, где в функции или методе был выполнен вызов следующего метода или функции. Это смещение в скомпилированном коде функции, поэтому это число по большей части бессмысленно.

Однако, если вы сохранили свой файл .dSYM, вы можете преобразовать число в реальный номер строки в определенном файле.

См. Например http://www.anoshkin.net/blog/2008/09/09/iphone-crash-logs/

...