How to analyze iPhone's device log?

1

Can anyone tell me how to analyse the iPhone's device log?

In addition, can anyone explain what the following means?

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
iphone
xcode
logging
device
asked on Stack Overflow Jul 14, 2010 by yue zhang • edited Apr 23, 2012 by Matt

1 Answer

6

What you are looking at is a stack trace. It shows all function and method calls that your application made in a specific thread. Up to the point where it crashed.

The first line ('distance' 0) is the most recent location. So this is the place where the application most likely crashed.

The last line ('distance' 25) is the start of the application.

The libobjc.A.dylib is the place where the application crashed. This can show libraries (libobjc.A.dylib) , frameworks (UIKit) and your application (iPad4HB).

The hexadecimal number (0x00007dd2) is the memory location of that specific function or method.

The next column shows the actual function or method name. Where prepareForMethodLookup is a plain C function while -[NSObject performSelector:withObject:] is a method.

The '+ 10' is an indication of where in the function or method the call to the next method or function was made. It is an offset into the compiled code of the function, so this number is mostly meaningless.

However, if you kept your .dSYM file, then you can convert the number to a real line number in a specific file.

See for example http://www.anoshkin.net/blog/2008/09/09/iphone-crash-logs/

answered on Stack Overflow Jul 14, 2010 by Stefan Arentz

User contributions licensed under CC BY-SA 3.0