应用唤醒时,EXC_BAD_ACCESSSIGBUS和EXC_BAD_ACCESSSIGSEGV崩溃

问题描述

| 我在应用崩溃时遇到一些问题,需要一些指导,以便我可以解决我有一个具有主视图和模式视图的应用程序,非常类似于认的flipside实用程序模板。当我第一次运行该应用程序时,包括模态视图在内的所有东西都运行良好。但是,当我返回主屏幕然后返回到应用程序时,如果我在上一个会话中激活了模式视图,则该应用程序将崩溃。 (不知道该术语并且是菜鸟,我称它为应用程序醒来。)如果我未激活模式视图而只是在上一个会话中停留在主视图上,则该应用程序将以排除任何问题。 现在,我在进一步跟踪此问题时遇到了问题,希望您能提供一些指导。当我通过xcode运行时停止应用程序时,调试器将停止。仪器告诉我我已经解决了所有内存泄漏问题。这些是最新的崩溃日志:
Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000008
Crashed Thread:  0

Thread 0 name:  dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x35248c98 0x35246000 + 11416
1   CoreLocation                    0x35205f78 0x351fe000 + 32632
2   CoreLocation                    0x35206f42 0x351fe000 + 36674
3   CoreLocation                    0x35204a64 0x351fe000 + 27236
4   CoreLocation                    0x3520078a 0x351fe000 + 10122
5   CoreLocation                    0x352018cc 0x351fe000 + 14540
6   CoreLocation                    0x35202d50 0x351fe000 + 19792
7   CoreFoundation                  0x316fd706 0x31691000 + 444166
8   CoreFoundation                  0x31706a90 0x31691000 + 481936
9   CoreFoundation                  0x31708838 0x31691000 + 489528
10  CoreFoundation                  0x31709606 0x31691000 + 493062
11  CoreFoundation                  0x31699ebc 0x31691000 + 36540
12  CoreFoundation                  0x31699dc4 0x31691000 + 36292
13  GraphicsServices                0x31018418 0x31014000 + 17432
14  GraphicsServices                0x310184c4 0x31014000 + 17604
15  UIKit                           0x317bfd62 0x31791000 + 191842
16  UIKit                           0x317bd800 0x31791000 + 182272
17  MyApp                           0x000021a4 0x1000 + 4516
18  MyApp                           0x00002158 0x1000 + 4440
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x709ffd70
Crashed Thread:  0

Thread 0 name:  dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x35248ca4 0x35246000 + 11428
1   CoreLocation                    0x35206f42 0x351fe000 + 36674
2   CoreLocation                    0x35204a64 0x351fe000 + 27236
3   CoreLocation                    0x3520078a 0x351fe000 + 10122
4   CoreLocation                    0x352018cc 0x351fe000 + 14540
5   CoreLocation                    0x35202d50 0x351fe000 + 19792
6   CoreFoundation                  0x316fd706 0x31691000 + 444166
7   CoreFoundation                  0x31706a90 0x31691000 + 481936
8   CoreFoundation                  0x31708838 0x31691000 + 489528
9   CoreFoundation                  0x31709606 0x31691000 + 493062
10  CoreFoundation                  0x31699ebc 0x31691000 + 36540
11  CoreFoundation                  0x31699dc4 0x31691000 + 36292
12  GraphicsServices                0x31018418 0x31014000 + 17432
13  GraphicsServices                0x310184c4 0x31014000 + 17604
14  UIKit                           0x317bfd62 0x31791000 + 191842
15  UIKit                           0x317bd800 0x31791000 + 182272
16  MyApp                           0x000021a4 0x1000 + 4516
17  MyApp                           0x00002158 0x1000 + 4440
因此,从我已阅读的内容来看,似乎是在引用已被某种方式擦除或覆盖的对象?有了这个,我只是想抓住稻草,甚至不知道该如何追踪。 有什么想法吗?     

解决方法

从reactsToSelector调用它,可能是您的ModalView,AddPersonViewController,我猜这是保留而不是分配委托属性,或者未在dealloc和viewDidUnload中设置为nil委托。在这种情况下,它将尝试将消息发送到您委托的不存在的消息中,该消息仍然保留引用。
@property (nonatomic,assign) id <delegate> *delegate;


self.delegate = nil; in dealloc and viewDidUnload.
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...