了解揭秘的崩溃日志iOS

时间:2015-03-27 06:05:33

标签: ios objective-c xcode ipad symbolicatecrash

我正在尝试了解打开应用程序时发生的崩溃问题的崩溃日志。当用户打开应用程序时,它会立即崩溃。

以下是崩溃日志中的行:

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x3039528c 0x30381000 + 82572
1   myApp                           0x003bdd24 0x95000 + 3312932
2   libsystem_platform.dylib        0x304100a0 0x3040c000 + 16544
3   libsystem_pthread.dylib         0x30415c92 0x30412000 + 15506
4   libsystem_c.dylib               0x30334934 0x302eb000 + 301364
5   myApp                           0x0017c7a4 0x95000 + 948132
6   myApp                           0x0017c490 0x95000 + 947344
7   myApp                           0x000ed8e8 0x95000 + 362728
8   myApp                           0x000ed010 0x95000 + 360464
9   myApp                           0x0017b842 0x95000 + 944194
10  UIKit                           0x2536fee0 0x252f6000 + 499424

在对与myApp相关的线程0和第1帧进行符号化后,它看起来像这样:

__39+[CLSUserDefaults standardUserDefaults]_block_invoke (in myApp) + 24

在对与myApp相关的线程0和第5帧进行符号化后,它看起来像这样:

-[AppDelegate application:handleOpenURL:] (in iPegs) (AppDelegate.m:448)

从第一个结果[CLSUserDefaults standardUserDefaults]开始,我没有理解任何可能导致myApp崩溃以及在何处找到该代码的内容。

从第二个结果[AppDelegate application:handleOpenURL:]第448行包含以下代码:

[Flurry logEvent:@"Import Document" withParameters:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"Import Document",@"category",@"Import",@"action",@"open",@"label", nil] timed:YES];

函数handleOpenURL如下:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    if ([[DBSession sharedSession] handleOpenURL:url])
    {
        if ([[DBSession sharedSession] isLinked])
        {
            [[NSNotificationCenter defaultCenter] postNotificationName:COMMNAD_EXPORT_DROPBOX object:nil userInfo:nil];
        }
        return YES;
    }
    else
    {
        if ([[ipegsClient shareInstance]getLoginUser]!=nil)
        {
            id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];

            [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Import Document"     // Event category (required)
                                                                  action:@"Import"  // Event action (required)
                                                                   label:@"open"          // Event label
                                                                   value:[NSNumber numberWithInt:1]] build]];
            [Flurry logEvent:@"Import Document" withParameters:[NSMutableDictionary dictionaryWithObjectsAndKeys:@"Import Document",@"category",@"Import",@"action",@"open",@"label", nil] timed:YES];
            [[NSNotificationCenter defaultCenter] postNotificationName:COMMAND_IMPORT_FILE_DOCUMENT object:url];


            return YES;
        }
        else
        {
            UIAlertView *alr = [[UIAlertView alloc]initWithTitle:@"myApp" message:@"Please login to import" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            [alr show];

            return NO;
        }
        return YES;
    }

    // Add whatever other url handling code your app requires here
    return NO;
}

那么请你帮我理解一下吗?

0 个答案:

没有答案