iphone - Objective-C/iPhone - NSException 捕获尽可能多的信息

标签 iphone objective-c exception nsexception

我正在使用以下代码在我的应用程序中捕获异常:

void uncaughtExceptionHandler(NSException *exception) {
    [FlurryAPI logError:@"Uncaught" message:@"Crash!" exception:exception];
}

只是想知道我是否可以查明发生错误的行号、UIView、类等。理想情况下,我希望获得尽可能多的详细信息,因为它是由 FlurryAPI 分析捕获的。

乱舞API: http://www.flurry.com/

最佳答案

我最终选择了这个:

void uncaughtExceptionHandler(NSException *exception) {
    NSArray *backtrace = [exception callStackSymbols];
    NSString *platform = [[UIDevice currentDevice] platform];
    NSString *version = [[UIDevice currentDevice] systemVersion];
    NSString *message = [NSString stringWithFormat:@"Device: %@. OS: %@. Backtrace:\n%@",
                         platform,
                         version,
                         backtrace];

    [FlurryAPI logError:@"Uncaught" message:message exception:exception];
}

更新(基于下面@TommyG 的评论):

NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); 添加到 AppDelegate 中的 --(BOOL)application:didFinishLaunchingWithOptions: 方法的末尾。然后将上述方法也添加到 AppDelegate 中。

关于iphone - Objective-C/iPhone - NSException 捕获尽可能多的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5500490/

相关文章:

iphone - 如何找出一个图像是否存在于一个包中?

适用于 Windows 的 iPhone 模拟器,允许安装新应用程序

ios - 将 UISearchBar 取消按钮更改为图标

java - 异常堆栈跟踪中的未知来源

Java 线程 ArrayIndexOutOfBoundsException

c# - 在Silverlight/Windows Phone中进行异常处理的标准方法

iphone - 在单例中设置字典导致 EXC_BAD_ACCESS

iphone - 使用一个代码库 : framework for scaling layouts and assets for HTML5 apps on iPhones or iOS devices? 为非 Retina 和 Retina 显示器提供服务

objective-c - 处理图像时出现 Retina 显示问题

Objective-C:测试未分配(未定义)的变量?