iphone - 应用程序唤醒时 EXC_BAD_ACCESS (SIGBUS) 和 EXC_BAD_ACCESS (SIGSEGV) 崩溃

标签 iphone objective-c cocoa-touch exc-bad-access

我遇到了一些应用程序崩溃的问题,我需要一些指导才能修复它。我有一个带有主视图和模态视图的应用程序,非常类似于默认的翻转实用模板。当我第一次运行该应用程序时,一切都运行良好,包括模态视图。但是,当我返回主屏幕然后返回应用程序时,如果我在上一个 session 中激活了模态视图,应用程序将会崩溃。 (不知道这个术语并且是菜鸟,我称之为应用程序唤醒。)如果我没有激活模态视图并且只是在上一个 session 中停留在主视图上,那么应用程序将恢复运行而无需任何操作问题。

现在,我在进一步追踪此问题时遇到问题,希望得到一些指导。当我在运行 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

所以,从我读到的内容来看,我似乎正在引用一个已以某种方式删除或覆盖的对象?有了这个,我只是捕获救命稻草,不知道如何才能找到它。

想法?

最佳答案

从respondsToSelector调用它可能是你的ModalView,AddPersonViewController我猜,这是保留而不是分配委托(delegate)属性或不在dealloc和viewDidUnload中设置为nil委托(delegate)。在这种情况下,它将尝试将消息发送到您委托(delegate)仍保留引用的不存在的消息。

@property (nonatomic, assign) id <delegate> *delegate;


self.delegate = nil; in dealloc and viewDidUnload.

关于iphone - 应用程序唤醒时 EXC_BAD_ACCESS (SIGBUS) 和 EXC_BAD_ACCESS (SIGSEGV) 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6065294/

相关文章:

ios - 可变数组只包含相同的项目

ios - 从url下载文件并保存到iPhone上的资源

ios - 对象似乎被释放,但内存占用不断增加

iphone - 推送 View Controller : Is this a memory leak?

objective-c - 为什么不使用界面生成器

ios - 从 UICollectionView 的 viewForSupplementaryElementOfKind 获取 NSFetchedResultsController 部分对象

iphone - Apple 在 AppStore 中接受的最低 iOS 目标版本?

iphone - 禁用 UIButton 直到 UITextField 中有文本

ios - 在我的 iPhone 上运行程序时看不到我的按钮

iphone - Insert 语句不检查重复值