如何分析iPhone的设备日志?

时间:2010-07-14 03:07:15

标签: iphone xcode logging device

谁能告诉我如何分析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 个答案:

答案 0 :(得分:6)

您正在查看的是堆栈跟踪。它显示了应用程序在特定线程中进行的所有函数和方法调用。直到坠毁的地步。

第一行('距离'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/