【问题标题】:How to print the exception automatically in xcode?如何在 xcode 中自动打印异常?
【发布时间】:2012-03-06 10:25:10
【问题描述】:

参考:Xcode/LLDB: How to get information about an exception that was just thrown?

所以我可以通过在调试器控制台中输入po *(id *)($ebp + 8)来获取异常,并且断点中有一个选项可以在遇到断点时打印一些东西,但是该选项只能打印对象的地址而不是描述其中。 po 的调试器命令选项甚至不打印任何内容。

有没有设置自动打印异常的描述?

【问题讨论】:

标签: objective-c xcode debugging exception


【解决方案1】:

我使用这样的解决方案在调试版本中打印问题并运行:

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;
}

【讨论】:

  • 它适用于我所有的项目。在您的情况下,也许某些框架会覆盖异常处理程序?如果您使用 Crashlytics/Testflight/Google Analytics,则需要将自己的异常处理程序放在最后,以确保...
猜你喜欢
  • 2015-05-03
  • 2010-12-01
  • 2017-12-21
  • 2013-02-24
  • 2017-05-26
  • 2016-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多