2012-02-15 2 views
6

Ref: Xcode/LLDB: How to get information about an exception that was just thrown?Как распечатать исключение автоматически в xcode?

Так что я могу получить исключение, введя po *(id *)($ebp + 8) в консоли отладчика, и есть возможность в контрольной точке, чтобы напечатать что-то, когда точка останова будет достигнута, но эта опция может печатать только адрес объекта но не описание его. Опция команды отладчика даже не печатает ничего po.

Есть ли какие-либо настройки для автоматического распечатки описания исключения?

+0

Смотрите этот вопрос: http://stackoverflow.com/questions/8100054/no-exception-stack-trace-in-console -under-xcode-4-2-ios-5 –

ответ

0

Я использую такое решение для печати проблем в отладке сборки и запуска:

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

По моему опыту это не работает. –

+0

Он работает для всех моих проектов. В вашем случае, может быть, какой-то механизм переопределения обработчика рамки? Если вы используете Crashlytics/Testflight/Google Analytics, вам нужно положить свой собственный обработчик исключений в конце, чтобы быть уверенным ... –