Sự khác biệt giữa KERN_INVALID_ADDRESS
và KERN_PROTECTION_FAILURE
trên hệ điều hành iPhone là gì?Sự khác nhau giữa KERN_INVALID_ADDRESS và KERN_PROTECTION_FAILURE là gì?
Tôi có hai báo cáo sự cố từ một thử nghiệm beta ad-hoc mà cách nhau 5 phút và sự khác biệt chính giữa chúng (trừ các "hình ảnh nhị phân:" phần) là phần này:
Báo cáo A:
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000008
báo cáo B:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x67696c69
Đối với những gì nó có giá trị, cả hai đều có dấu vết này:
Thread 0 Crashed:
0 libobjc.A.dylib 0x30011940 objc_msgSend + 20
1 UIKit 0x30940174 -[UIWindow _shouldAutorotateToInterfaceOrientation:] + 60
2 UIKit 0x30a223d8 -[UIWindow _updateToInterfaceOrientation:duration:force:] + 36
3 UIKit 0x30958638 -[UIWindow _updateInterfaceOrientationFromDeviceOrientation] + 112
4 UIKit 0x30942514 -[UIWindow _handleDeviceOrientationChange:] + 72
5 Foundation 0x3054dc7a _nsnote_callback + 178
6 CoreFoundation 0x3024ea52 _CFXNotificationPostNotification + 298
7 Foundation 0x3054b854 -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
8 UIKit 0x309414a4 -[UIDevice setOrientation:] + 124
9 UIKit 0x30938330 -[UIApplication handleEvent:withNewEvent:] + 5232
10 UIKit 0x30936ce8 -[UIApplication sendEvent:] + 60
11 UIKit 0x30936874 _UIApplicationHandleEvent + 4336
12 GraphicsServices 0x32046964 PurpleEventCallback + 1028
13 CoreFoundation 0x30254a70 CFRunLoopRunSpecific + 2296
14 CoreFoundation 0x30254164 CFRunLoopRunInMode + 44
15 GraphicsServices 0x3204529c GSEventRunModal + 188
16 UIKit 0x308f0374 -[UIApplication _run] + 552
17 UIKit 0x308eea8c UIApplicationMain + 960
18 MyApp 0x00015e24 0x1000 + 85540
19 MyApp 0x0000f138 0x1000 + 57656
Ngoài ra, tôi không triển khai phương thức "shouldAutorotateToInterfaceOrientation:" ở bất kỳ đâu trong mã của tôi.
Bạn có tìm hiểu nguyên nhân gây ra sự cố cụ thể này không? Tôi đang cố gắng để gỡ lỗi một vụ tai nạn với một backtrace gần giống hệt nhau này, và giải pháp của bạn có thể chỉ cho tôi đi đúng hướng. –
Nathan, tôi không chắc chắn 100% đây là bản sửa lỗi cho vấn đề này, nhưng tôi đã sớm phát hành một UIViewController ngay lập tức từ Interface Builder. Tôi cũng đã thực hiện một số thay đổi khác, bao gồm viết lại mã làm hoạt hình giao diện trước khi phát một bộ phim thông qua MPMoviePlayerController. Vì đợt sửa lỗi này, người kiểm tra của tôi đã không báo cáo sự cố. Chúc may mắn ... cái này có thể khó theo dõi. – davidcann
OK, cảm ơn những người đứng đầu David. Tôi chưa giải quyết được vấn đề, nhưng tôi đã tìm thấy hai tài nguyên mà bạn có thể quan tâm: http://sealiesoftware.com/blog/archive/2008/09/22/objc_explain_So_you_crashed_in_objc_msgSend.html http: // sealiesoftware .com/blog/archive/2009/06/08/objc_explain_So_you_crashed_in_objc_msgSend_iPhone_Edition.html –