2012-02-15 12 views
6

Ref: Xcode/LLDB: How to get information about an exception that was just thrown?Làm thế nào để in ngoại lệ tự động trong xcode?

Vì vậy, tôi có thể nhận được ngoại lệ bằng cách gõ po *(id *)($ebp + 8) trong trình gỡ lỗi giao diện điều khiển, và có một tùy chọn trong breakpoint để in một cái gì đó khi breakpoint được đáp ứng, nhưng tùy chọn mà chỉ có thể in địa chỉ của đối tượng nhưng không phải mô tả về nó. Tùy chọn về lệnh trình gỡ rối thậm chí không in được gì bởi po.

Có bất kỳ cài đặt nào để tự động in mô tả ngoại lệ không?

+0

Xem câu hỏi này: http://stackoverflow.com/questions/8100054/no-exception-stack-trace-in-console -under-xcode-4-2-ios-5 –

Trả lời

0

tôi sử dụng giải pháp này để in các vấn đề trong debug xây dựng và chạy:

void uncaughtExceptionHandler(NSException *exception) 
{ 
    NSLog(@"CRASH: %@", exception); 
    NSLog(@"Stack Trace: %@", [exception callStackSymbols]); 
} 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
#if DEBUG 
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); 
#endif 
    return YES; 
} 
+0

Trong kinh nghiệm của tôi điều này không hoạt động. –

+0

Nó hoạt động cho tất cả các dự án của tôi. Trong trường hợp của bạn, có lẽ một số xử lý ngoại lệ ghi đè lên khuôn khổ? Nếu bạn sử dụng Crashlytics/Testflight/Google Analytics, bạn cần đặt trình xử lý ngoại lệ của riêng mình vào cuối, để đảm bảo ... –

Các vấn đề liên quan