当前位置: 首页 > news >正文

qq空间怎么跟网站做链接吗龙华网站建设

qq空间怎么跟网站做链接吗,龙华网站建设,中国新冠疫情最新情况,seo 整站优化转:http://blog.csdn.net/marujunyy/article/details/12005767 对于真机,日志没法保存,不好分析问题。所以有必要将日志保存到应用的Docunment目录下,方便取出分析。 首先是日志输出,分为c的printf和标准的NSLog输出&a…

转:http://blog.csdn.net/marujunyy/article/details/12005767

对于真机,日志没法保存,不好分析问题。所以有必要将日志保存到应用的Docunment目录下,方便取出分析。


首先是日志输出,分为c的printf和标准的NSLog输出,printf会向标准输出(sedout)打印,而NSLog则是向标准出错(stderr),我们需要同时让他们都将日志打印到一个文件中。 其次是Crash问题;Crash分为两种,一种是由EXC_BAD_ACCESS引起的,原因是访问了不属于本进程的内存地址,有可能是访问已被释放的内存;另一种是未被捕获的Objective-C异常(NSException),导致程序向自身发送了SIGABRT信号而崩溃。其实对于未捕获的Objective-C异常,我们是有办法将它记录下来的,如果日志记录得当,能够解决绝大部分崩溃的问题。


我写了两个函数用于写NSLog日志和Crash日志,这个两个函数都必须在AppDelegate文件中下面的函数里添加

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

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. //连接xcode时可以从监视器中看日志 没连接时Log日志会输出到文件中,  
  2. [self redirectNSLogToDocumentFolder];  
[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. - (void)redirectNSLogToDocumentFolder  
  2. {  
  3.     //如果已经连接Xcode调试则不输出到文件  
  4.     if(isatty(STDOUT_FILENO)) {  
  5.         return;  
  6.     }  
  7.       
  8.     UIDevice *device = [UIDevice currentDevice];  
  9.     if([[device model] hasSuffix:@"Simulator"]){ //在模拟器不保存到文件中  
  10.         return;  
  11.     }  
  12.       
  13.     //将NSlog打印信息保存到Document目录下的Log文件夹下  
  14.     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
  15.     NSString *logDirectory = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Log"];  
  16.       
  17.     NSFileManager *fileManager = [NSFileManager defaultManager];  
  18.     BOOL fileExists = [fileManager fileExistsAtPath:logDirectory];  
  19.     if (!fileExists) {  
  20.         [fileManager createDirectoryAtPath:logDirectory  withIntermediateDirectories:YES attributes:nil error:nil];  
  21.     }  
  22.       
  23.     NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
  24.     [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];  
  25.     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //每次启动后都保存一个新的日志文件中  
  26.     NSString *dateStr = [formatter stringFromDate:[NSDate date]];  
  27.     NSString *logFilePath = [logDirectory stringByAppendingFormat:@"/%@.log",dateStr];  
  28.       
  29.     // 将log输入到文件  
  30.     freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stdout);  
  31.     freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);  
  32.       
  33.     //未捕获的Objective-C异常日志  
  34.     NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);  
  35. }  
  36.   
  37. void UncaughtExceptionHandler(NSException* exception)  
  38. {  
  39.     NSString* name = [ exception name ];  
  40.     NSString* reason = [ exception reason ];  
  41.     NSArray* symbols = [ exception callStackSymbols ]; // 异常发生时的调用栈  
  42.     NSMutableString* strSymbols = [ [ NSMutableString alloc ] init ]; //将调用栈拼成输出日志的字符串  
  43.     for ( NSString* item in symbols )  
  44.     {  
  45.         [ strSymbols appendString: item ];  
  46.         [ strSymbols appendString: @"\r\n" ];  
  47.     }  
  48.       
  49.     //将crash日志保存到Document目录下的Log文件夹下  
  50.     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
  51.     NSString *logDirectory = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Log"];  
  52.       
  53.     NSFileManager *fileManager = [NSFileManager defaultManager];  
  54.     if (![fileManager fileExistsAtPath:logDirectory]) {  
  55.         [fileManager createDirectoryAtPath:logDirectory  withIntermediateDirectories:YES attributes:nil error:nil];  
  56.     }  
  57.       
  58.     NSString *logFilePath = [logDirectory stringByAppendingPathComponent:@"UncaughtException.log"];  
  59.     NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
  60.     [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"]];  
  61.     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];  
  62.     NSString *dateStr = [formatter stringFromDate:[NSDate date]];  
  63.       
  64.     NSString *crashString = [NSString stringWithFormat:@"<- %@ ->[ Uncaught Exception ]\r\nName: %@, Reason: %@\r\n[ Fe Symbols Start ]\r\n%@[ Fe Symbols End ]\r\n\r\n", dateStr, name, reason, strSymbols];  
  65.     //把错误日志写到文件中  
  66.     if (![fileManager fileExistsAtPath:logFilePath]) {  
  67.         [crashString writeToFile:logFilePath atomically:YES encoding:NSUTF8StringEncoding error:nil];  
  68.     }else{  
  69.         NSFileHandle *outFile = [NSFileHandle fileHandleForWritingAtPath:logFilePath];  
  70.         [outFile seekToEndOfFile];  
  71.         [outFile writeData:[crashString dataUsingEncoding:NSUTF8StringEncoding]];  
  72.         [outFile closeFile];  
  73.     }  
  74.       
  75.     //把错误日志发送到邮箱  
  76.     //    NSString *urlStr = [NSString stringWithFormat:@"mailto://test@163.com?subject=bug报告&body=感谢您的配合!<br><br><br&gt;错误详情:<br>%@",crashString ];  
  77.     //    NSURL *url = [NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];  
  78.     //    [[UIApplication sharedApplication] openURL:url];  
  79. }  


http://www.lbrq.cn/news/2627299.html

相关文章:

  • 做动态图片的网站北京seo相关
  • 移动网站建设流程沧州网站优化
  • 做网站用的到minitab么色目人
  • 中山做网站的seo关键词优化怎么做
  • 物业管理系统功能结构图seo专员工资一般多少
  • 武汉网站设计方案南京网站设计优化公司
  • 初中做历史的网站小说关键词生成器
  • 外贸渠道有哪些网站seo技术能不能赚钱
  • 怎么做网站表白seo顾问推推蛙
  • 黄页网页的推广网站下载四平网络推广
  • 有备案号的网站是公司的吗重庆百度关键词推广
  • 北京网站开发公司推广平台怎么找客源
  • 电商网站模板html百度联盟官网
  • 晋城市住房保障和城乡建设局网站广告多的网站
  • 柳州建站百度关键词屏蔽
  • 广州市网站建设制作费用广州网站运营
  • 义乌网站制作多少钱关键词查询爱站网
  • 建设官方网站网站seo优化方案策划书
  • 什么是优化型网站优化公司流程制度
  • 芬兰网站后缀网络广告案例
  • 加盟连锁短视频seo排名系统
  • 赣州睿行网络科技有限公司北京优化互联网公司
  • 个人能免费做网站goole官网
  • 芜湖做网站推广有哪些公司百度荤seo公司
  • 计算机网站开发课本站长统计app进入网址新版
  • 营销型网站什么意思网络营销期末考试题库
  • 澄迈网站建设网络外包运营公司
  • 一流 北京网站建设网页制作步骤
  • 长春建站模板搭建百度 营销怎么收费
  • 济宁网站建设神华科技百度搜索排名优化
  • Windows Oracle 11 g dmp数据库恢复笔记
  • java excel转图片常用的几种方法
  • Git 乱码文件处理全流程指南:从识别到彻底清除
  • 【golang】基于redis zset实现并行流量控制(计数锁)
  • Redis备份方案:持久化与外部工具全解析
  • 14.Home-新鲜好物和人气推荐实现