Xcode iOS了解堆栈跟踪

时间:2012-07-10 07:45:47

标签: iphone objective-c ios xcode stack-trace

applicationWillTerminate有什么问题吗?

谁能告诉我如何分析有关异常的痕迹或更多细节?

我尝试过dwarfdump,但似乎没有更多细节。

dwarfdump -arch armv7 MyApp.app.dSYM --lookup 0x000034b3 
告诉我

Line table file: 'main.m' line 14, column 18 with start address 0x00000000000034aa

int retVal = UIApplicationMain(argc, argv, nil, nil);

这是堆栈跟踪

-[UIApplication applicationWillTerminate:]: unrecognized selector sent to instance 0x27eed0
(null)
(
0   CoreFoundation                      0x30df964f __exceptionPreprocess + 114
1   libobjc.A.dylib                     0x34914c5d objc_exception_throw + 24
2   CoreFoundation                      0x30dfd1bf -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
3   CoreFoundation                      0x30dfc649 ___forwarding___ + 508
4   CoreFoundation                      0x30d73180 _CF_forwarding_prep_0 + 48
5   CommonTools                         0x089e441f -[ButtonEventOpt onProcClickEvent:state:frame:viewControl:] + 1662
6   CommonTools                         0x089ead37 -[CommonToolsView onClickBtnEvent:] + 366
7   CoreFoundation                      0x30d69571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
8   UIKit                               0x30e77ec9 -[UIApplication sendAction:to:from:forEvent:] + 84
9   UIKit                               0x30e77e69 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
10  UIKit                               0x30e77e3b -[UIControl sendAction:to:forEvent:] + 38
11  UIKit                               0x30e77b8d -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 356
12  UIKit                               0x30e78423 -[UIControl touchesEnded:withEvent:] + 342
13  UIKit                               0x30e5d535 _UIGestureRecognizerSortAndSendDelayedTouches + 2200
14  UIKit                               0x30e5cc01 _UIGestureRecognizerUpdateObserver + 696
15  CoreFoundation                      0x30dd0a35 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 16
16  CoreFoundation                      0x30dd2465 __CFRunLoopDoObservers + 412
17  CoreFoundation                      0x30dd375b __CFRunLoopRun + 854
18  CoreFoundation                      0x30d63ec3 CFRunLoopRunSpecific + 230
19  CoreFoundation                      0x30d63dcb CFRunLoopRunInMode + 58
20  GraphicsServices                    0x306e241f GSEventRunModal + 114
21  GraphicsServices                    0x306e24cb GSEventRun + 62
22  UIKit                               0x30e89d69 -[UIApplication _run] + 404
23  UIKit                               0x30e87807 UIApplicationMain + 670
24  MyApp                           0x000034b3 MyApp + 9395
25  MyApp                           0x0000346c MyApp + 9324
)

3 个答案:

答案 0 :(得分:0)

ApplicationWillTerminate中没有错误,当您收到未解决的错误时,应用程序通常会在此处结束。

你应该在输出日志中得到一些细节,你的主要错误似乎是你调用了一个你所调用的类不支持的选择器:

unrecognized selector sent to instance 0x27eed0  
在堆栈中你可以看到有几个调用,但只有两个来自你自己的类(我猜,因为我不知道这些):

5   CommonTools                         0x089e441f -[ButtonEventOpt onProcClickEvent:state:frame:viewControl:] + 1662 
6   CommonTools                         0x089ead37 -[CommonToolsView onClickBtnEvent:] + 366 

检查输出日志,如果有更多关于方法调用的详细信息,则会抛出错误。

答案 1 :(得分:0)

应用程序何时崩溃?看起来你正在调用一个不知道该方法的对象的方法。

请发布相关的手势识别器代码。

答案 2 :(得分:0)

我遇到了同样的问题,我找到了! CommonTools是91桌面的图书馆,是一个越狱应用程序。当用户安装此应用程序时,他们可以直接使用它终止应用程序。我的应用程序在os 4.x上获得崩溃报告,当他们使用此应用程序退出应用程序时。因此,您可以检查您的应用是否有同样的问题。 祝你好运!

相关问题