ios 获取 crash 日志

来源:互联网 发布:淘宝双十一2017 编辑:程序博客网 时间:2024/06/02 23:03

#import <Foundation/Foundation.h>


@interface CatchCrash : NSObject

void uncaughtExceptionHandler(NSException *exception);

@end


#import "CatchCrash.h"


@implementation CatchCrash

void uncaughtExceptionHandler(NSException *exception)


{

    

    // 异常的堆栈信息

    

    NSArray *stackArray = [exceptioncallStackSymbols];

    

    // 出现异常的原因

    

    NSString *reason = [exceptionreason];

    // 异常名称

    

    NSString *name = [exceptionname];

    

    NSString *exceptionInfo = [NSStringstringWithFormat:@"Exception reason%@\nException name%@\nException stack%@",name, reason, stackArray];

    

    NSLog(@"crashLog------------%@-------------crashLog", exceptionInfo);



还可以 发送日志我自己哦

//    NSString *syserror = [NSString stringWithFormat:@"mailto://595814260@qq.com?subject=bug报告&body=感谢您的配合!<br><br><br>"

//                          "Error Detail:<br>%@<br>--------------------------<br>%@<br>---------------------<br>%@",

//                          name,reason,[stackArray componentsJoinedByString:@"<br>"]];

//    

////    NSMutableArray *tmpArr = [NSMutableArray arrayWithArray:stackArray];

////    

////    [tmpArr insertObject:reason atIndex:0];

//    NSURL *url = [NSURL URLWithString:[syserror stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

//    [[UIApplication sharedApplication] openURL:url];

    //保存到本地  -- 当然你可以在下次启动的时候,上传这个log

    

    //[exceptionInfo writeToFile:[NSString stringWithFormat:@"%@/Documents/error.log",NSHomeDirectory()]  atomically:YES encoding:NSUTF8StringEncoding error:nil];

    

}

@end

/// 注册监控

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);


}
0 0
原创粉丝点击