2013-09-23 36 views
13

Tôi có một ứng dụng mà tôi đã làm việc trên, mà làm việc một cách hoàn hảo trên iOS 6 trong XCode 4.5, nhưng bây giờ tôi đã tải về XCode 5 với iOS 7 và nhận được lỗi này,đang EXC_BAD_access = 2 địa chỉ 0x8

chủ đề 1: EXC_BAD_access code = 2 địa chỉ 0x8

trong main.m:

#import <UIKit/UIKit.h> 
#import "TestAppDelegate.h" 

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([TestAppDelegate class])); 
    } 
} 

tôi tải iOS 6 sdk và công việc mã hoàn hảo trên iOS 6 sdk yet nhưng wit h iOS 7, tôi nhận được lỗi này, và tôi không biết tại sao? Tôi cố gắng gỡ lỗi nhưng không nhận được thông tin về sự cố. Tôi đọc một cái gì đó về zombie và kích hoạt nó bằng cách vào Product-> Edit Schema-> Diagnostic-> Enable Zombie Object. Nhưng ngay cả sau này tôi đã không nhận được bất cứ điều gì hữu ích.

Mọi con trỏ?

+0

Con trỏ: [Mac OS X Gỡ lỗi Magic] (https://developer.apple.com/library/mac/technotes/tn2124/_index.html) và TN2239 (tìm kiếm trong Trợ giúp Xcode) cho iOS. – CouchDeveloper

+2

Bạn đã đặt 'điểm ngắt ngoại lệ' biểu tượng chưa? – Vinzzz

+0

Tôi nên đặt cái này ở đâu? , nếu bạn có nghĩa là điểm breakpoint, có tôi sẽ làm điều này, nhưng tôi không biết vấn đề gì và nơi xảy ra lỗi trên cod – hossein1448

Trả lời

9

Tôi muốn mở rộng trên đầu được đưa ra bởi Vinzzz nhưng hơi khác nhau (ngoại lệ không phải là điểm ngắt biểu tượng).

Vấn đề ở đây là chương trình đã dừng trên hệ điều hành bị ngoại lệ (truy cập không tốt). Bạn cần phải đi sớm hơn một bước so với điều này, để xem ngoại lệ trong mã sẽ dẫn đến ngoại lệ iOS. Chuyển đến tab breakpoints trên phần panel màn hình Xcode bên trái (Breakpoint Navigator). Sau đó, ở dưới cùng của bảng điều khiển phải có một dấu +. Nhấp vào đó và thêm 'Điểm dừng ngoại lệ'. Chạy lại chương trình của bạn và bây giờ bạn sẽ bị phá vỡ khi vấn đề được cố gắng được đưa vào môi trường hệ điều hành. Điều này cung cấp thông tin về ai và nguyên nhân là gì.

+0

Mẹo hay, cảm ơn –

0

Khi bạn nhận được lời nhắc (lldb) cố gắng nhấn nút tiếp tục. Điều đó có thể tiết lộ thông báo lỗi cơ bản ở đầu bảng điều khiển trình gỡ lỗi. Tìm phần trên của văn bản in đậm để xem đối tượng có thể gây ra sự cố. Loại lỗi này thường đề cập đến một nỗ lực truy cập một đối tượng đã được deallocated.