我在iOS应用程序崩溃报告中收到了很多SIGSEGV异常,UINavigationController也出现了崩溃



这是我的崩溃报告,与iOS版本和设备无关。我还想知道,SIGSEGV_ACCERR是与内存有关的东西。你能帮我把这个问题写下来吗。我有一堆带有以下日志的崩溃报告

Date/Time:       2012-09-25 23:55:33 +0000
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104
Exception Type:  SIGSEGV
Exception Codes: SEGV_ACCERR at 0x60000008
Crashed Thread:  0
Thread 0 Crashed:
0   libobjc.A.dylib                     0x37734f78 objc_msgSend + 16
1   UIKit                               0x32e0c503 -[UINavigationController _startDeferredTransitionIfNeeded] + 251
2   UIKit                               0x32e568eb _popViewControllerNormal + 191
3   UIKit                               0x32e56719 -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:] + 393
4   UIKit                               0x32e56c79 -[UINavigationController navigationBar:shouldPopItem:] + 153
5   UIKit                               0x32e56a8f -[UINavigationBar _popNavigationItemWithTransition:] + 99
6   UIKit                               0x32ea6247 -[UINavigationBar popNavigationItemAnimated:] + 123
7   UIKit                               0x32ea60d5 -[UINavigationBar _handleMouseUpAtPoint:] + 925
8   UIKit                               0x32ea5d33 -[UINavigationBar touchesEnded:withEvent:] + 83
9   UIKit                               0x32de192b -[UIWindow _sendTouchesForEvent:] + 319
10  UIKit                               0x32de1319 -[UIWindow sendEvent:] + 381
11  UIKit                               0x32dc7695 -[UIApplication sendEvent:] + 357
12  UIKit                               0x32dc6f3b _UIApplicationHandleEvent + 5827
13  GraphicsServices                    0x36f8622b PurpleEventCallback + 883
14  CoreFoundation                      0x35367523 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 39
15  CoreFoundation                      0x353674c5 __CFRunLoopDoSource1 + 141
16  CoreFoundation                      0x35366313 __CFRunLoopRun + 1371
17  CoreFoundation                      0x352e94a5 CFRunLoopRunSpecific + 301
18  CoreFoundation                      0x352e936d CFRunLoopRunInMode + 105
19  GraphicsServices                    0x36f85439 GSEventRunModal + 137
20  UIKit                               0x32df5cd5 UIApplicationMain + 1081
21  Myapp                               0x00003597 main (main.m:20)

SIGSEGV的一个非常快速的谷歌会告诉你它是什么(一个意味着违反分割的信号)。这些链接也会告诉你为什么会发生这种情况。

从堆栈跟踪中,您可以看到主循环正在处理导航栏中的触摸。,这导致CCD_ 2转变。弹出视图控制器时,内存访问错误导致应用程序崩溃。

它甚至告诉你它试图访问的地址(这导致了崩溃):0x60000008这个地址看起来不太"整洁"吗?

因此,我首先尝试在调试器中重新创建它。我还会在我的视图控制器中添加一些推送/弹出的日志记录,这样我就可以判断是哪一个导致了崩溃。

您可以猜测这是按下导航控制器中的一个"后退"按钮的直接结果。

因此,我也倾向于查看我是如何设置推到导航控制器上的控制器的,并调查你是如何使用导航栏的(因为弹出它们会导致崩溃)。

看起来崩溃发生在核心库中,所以它必须在控制器的设置中,因为堆栈跟踪中似乎没有任何对代码的调用。

相关内容

  • 没有找到相关文章

最新更新