...
|
...
|
@@ -24,7 +24,7 @@ void sighandler(int signal) |
|
|
names[SIGPIPE] = "SIGPIPE";
|
|
|
names[SIGSEGV] = "SIGSEGV";
|
|
|
|
|
|
YHCrashReporter *crash = [YHCrashReporter sharedInstance];
|
|
|
YHCrashReporter *crash = [[YHCrashReporter alloc] init];
|
|
|
|
|
|
NSArray *arr = [crash callstackAsArray];
|
|
|
NSDictionary *userInfo = @{
|
...
|
...
|
@@ -37,7 +37,7 @@ void sighandler(int signal) |
|
|
|
|
|
void uncaughtCrashExceptionHandler(NSException *exception)
|
|
|
{
|
|
|
YHCrashReporter *crash = [YHCrashReporter sharedInstance];
|
|
|
YHCrashReporter *crash = [[YHCrashReporter alloc] init];
|
|
|
|
|
|
NSArray *arr = [exception callStackSymbols];
|
|
|
NSDictionary *userInfo = @{
|
...
|
...
|
@@ -83,18 +83,6 @@ void uncaughtCrashExceptionHandler(NSException *exception) |
|
|
return self;
|
|
|
}
|
|
|
|
|
|
- (void)dealloc
|
|
|
{
|
|
|
signal(SIGABRT, SIG_DFL);
|
|
|
signal(SIGBUS, SIG_DFL);
|
|
|
signal(SIGFPE, SIG_DFL);
|
|
|
signal(SIGILL, SIG_DFL);
|
|
|
signal(SIGPIPE, SIG_DFL);
|
|
|
signal(SIGSEGV, SIG_DFL);
|
|
|
|
|
|
NSSetUncaughtExceptionHandler(NULL);
|
|
|
}
|
|
|
|
|
|
#pragma mark - methods
|
|
|
|
|
|
- (NSArray *)callstackAsArray
|
...
|
...
|
@@ -121,6 +109,7 @@ void uncaughtCrashExceptionHandler(NSException *exception) |
|
|
}
|
|
|
|
|
|
[[YH_Analytics sharedInstance] logError:kErrorTypeCrash parameters:@{ JsonKeyErrorST: userInfo}];
|
|
|
[self killApp];
|
|
|
}
|
|
|
|
|
|
- (void)handleNSException:(NSDictionary*)userInfo
|
...
|
...
|
@@ -131,6 +120,22 @@ void uncaughtCrashExceptionHandler(NSException *exception) |
|
|
}
|
|
|
|
|
|
[[YH_Analytics sharedInstance] logError:kErrorTypeCrash parameters:@{ JsonKeyErrorST: userInfo}];
|
|
|
[self killApp];
|
|
|
}
|
|
|
|
|
|
- (void)killApp
|
|
|
{
|
|
|
NSSetUncaughtExceptionHandler(NULL);
|
|
|
|
|
|
signal(SIGABRT, SIG_DFL);
|
|
|
signal(SIGILL, SIG_DFL);
|
|
|
signal(SIGSEGV, SIG_DFL);
|
|
|
signal(SIGFPE, SIG_DFL);
|
|
|
signal(SIGBUS, SIG_DFL);
|
|
|
signal(SIGPIPE, SIG_DFL);
|
|
|
|
|
|
kill(getpid(), SIGKILL);
|
|
|
|
|
|
}
|
|
|
|
|
|
@end |
...
|
...
|
|