一.crash的场景 程序中用到UIImagePickerController时,如果在IPhone6S上运行APP,当forceTouch 一个图片时程序会crash,并附带如下crash message: * Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘+[NSObject previewingContext:viewControllerForLocation:]: unre…
一.crash的场景 程序中用到UIImagePickerController时,如果在IPhone6S上运行APP,当forceTouch 一个图片时程序会crash,并附带如下crash message: * Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘+[NSObject previewingContext:viewControllerForLocation:]: unre…
今天写程序,遇到了crash,在界面初始化时不会有,想切换到别的tab页就报错了.主要内容如下: Cannot find an outgoing row head for incoming head UIImageView:0x156caec0.Width{id: 103}, which should never happen. 查了一晚上也没有查出真正原因,最后从xib中删除了2个view,系统正常了.我想,大概使用了过多的不确定constraint,这些constraint对于人脑来说是可以…
一.现象:iPhone真机打开Voice Over的情况下,iPhone QQ空间工程,Xcode 真机编译启动必Crash,main函数里面 NSSetUncaughtExceptionHandler 捕获到Exception:捕获异常函数: static void UncaughtExceptionHandler(NSException* exp) { QZLOG_ERROR(@"QZone UncaughtExceptionHandler Exception:%@, callStackSy…
做了快两年的开发了,没有写过博客,最近公司app上架,程序崩溃被拒绝了,可是给的crash文件,又看不出哪里的问题,网上各种搜,终于找到了解决的办法,想想还是写个博客吧,希望给哪些也遇到这类问题的朋友一点帮助. 什么是dSYM文件 Xcode编译项目后,我们会看到一个同名的dSYM文件,dSYM是保存16进制函数地址映射信息的中转文件,我们调试的symbols都会包含在这个文件中,并且每次编译项目的时候都会生成一个新的dSYM文件,位于/Users/<用户名>/Library/Develope…
备份   文/爱掏蜂窝的熊(简书作者)原文链接:http://www.jianshu.com/p/0b6f5148dab8著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序 在日常开发中,app难免会发生崩溃.简单的崩溃还好说,复杂的崩溃就需要我们通过解析Crash文件来分析了,解析Crash文件在iOS开发中是比较常见的. 获取崩溃信息方式 在iOS中获取崩溃信息的方式有很多,比较常见的是使用友盟.云测.百度等第三方分析工具,或者自己收集崩溃信息并上传公司服务器.下面列举一些我…
http://code.google.com/p/innosoc/wiki/KernelBootCrashDebug 注: 如在i386_start_kernel中加入:early_printk("in i386_start_kernel\n"); console可以立即看到,不用等到console_init后 kernel启动控制台还不可用时发生crash的调试方法 在调试linux kernel时,如果crash发生在控制台还不可用时,那将没有任何信息能够被打印,那分析原因就变成了…
最近参加三次面试都有被问到runtime,因为不太懂runtime我就只能支支吾吾的说点零碎.我真的好几次努力想看一看runtime的知识,因为知道理解它对理解OC代码内部变化有一定帮助,不过真心觉得对开发没啥意义和用处,又是纯C的代码,现在开源项目那么多,基本都能参考别人的代码达到自己的目的.不过为了面试,今天硬着头皮稍微学了点,才算明白一点runtime的强大之处,现在大致知道它可以用来归档解档,以及字典转模型等.勉强写写今天的一点收获总结吧,依然很零碎,看官请自便.我发现这篇文章不错,看了…
问题描述:系统不定期报出Oracle“未处理的内部错误(-2)”,严重时IIS会Crash 典型异常日志如下: Exception type:   System.AccessViolationException Message:          尝试读取或写入受保护的内存.这通常指示其他内存已损坏. InnerException:   <none> StackTrace (generated): SP               IP               Function 00000…
Where to remove observer for NSNotification? 在dealloc方法中移除通知观察者带来crash NSNotificationCenter中的通知消息已经发出,而观察者对象子线程释放,也就是抛送通知消息的线程和观察者对象子线程释放的线程不一致时,存在crash风险,原因是NSNotificationCenter不是线程安全的. 解决办法:尽早移除通知 或者保证释放和抛送通知在同一个线程.…
crash:EXC_ARM_DA_ALIGN(关于内存对齐,memcpy) 问题描述 在iOS game开发时做内存拷贝时出现了 crash:EXC_ARM_DA_ALIGN,debug版本不会出现,release版本只在部分机器上出现(ipad 1(iOS7),ipod touch 5(iOS7,iOS8), iphone5c(iOS9)). 所以初步猜想是release编译优化导致的,从crash日志中只看到是某个函数,无法定位在哪一行代码,所以就添加日志后重新release,主要代码如下:…
WeTest 导读 看似系统Bug的Crash 99%都不是系统问题!本文将与你一起探索Crash分析的科学方法. 在移动互联网闯荡多年的iOS手机管家,经过不断迭代创新,已经涵盖了隐私(加密相册).安全(骚扰拦截.短信过滤).工具(网络检测.照片清理.极简提醒等)等等各个方面,为千万用户提供安全专业的服务.但与此同时,工程代码也越来越庞大(近30万行),一丁点的问题都会影响大量的用户,所以手管一直在质量上下狠功夫,对Crash率更是追求极致.近几个迭代对Crash做了专项分析,Crash率在原…
转自:http://zhengxiaoyong.me/2016/09/05/Android%E8%BF%90%E8%A1%8C%E6%97%B6Crash%E8%87%AA%E5%8A%A8%E6%81%A2%E5%A4%8D%E6%A1%86%E6%9E%B6-Recovery/ 简介 App Crash的恢复,这个想法很早之前就有,目前有些时间就实现了一把,主要是对App运行时发生Crash后,对Activity的堆栈和数据进行恢复,或者重启应用,或者重启并清空缓存,避免因本地的数据类型或格…
崩溃分析方式:命令行解析Crash文件 通过Mac自带的命令行工具解析Crash文件需要具备三个文件 symbolicatecrash,Xcode自带的崩溃分析工具,使用这个工具可以更精确的定位崩溃所在的位置,将0x开头的地址替换为响应的代码和具体行数. 我们打包时产生的dSYM文件. 崩溃时产生的Crash文件. 1.获取.crash文件 获取崩溃信息方式: 使用友盟.蒲公英等第三方崩溃统计工具.->iOS 友盟第三方崩溃统计的解析-dSYM 自己实现应用内崩溃收集,并上传服务器. Xcode…
前言:          Objective C的runtime技术功能非常强大,能够在运行时获取并修改类的各种信息,包括获取方法列表.属性列表.变量列表,修改方法.属性,增加方法,属性等等,本文对相关的几个要点做了一个小结. 目录: (1)使用class_replaceMethod/class_addMethod函数在运行时对函数进行动态替换或增加新函数 (2)重载forwardingTargetForSelector,将无法处理的selector转发给其他对象 (3)重载resolveIns…
1.前言 本文主要介绍在XCode5环境下,如何根据App自己生成的crashlog来调试真机上运行时产生的crash问题. 2. 步骤 (1)构造一段会crash的代码,并放到viewDidLoad里面,如下图所示: 以上代码会在objectAtIndex处因为数组越界而crash (2)在程序中捕获crash,生成crashlog,并保存到程序自己的沙盒中,如果需要分析线上bug,也可以将log文件上传到自己的服务器中. 捕获crash很简单,主要是以下步骤: 在didFinishLaunc…
背景 近期线上MySQL 5.7.20集群不定期(多则三周,短则一两天)出现主库mysql crash.触发主从切换问题,堆栈信息如下: 从堆栈信息可以明显看出,在调用 try_acquire_lock_impl 时触发的crash. 分析 在官方Bug库未搜到类似问题,转而从代码库入手,搜到对应的BUG -- 8bc828b982f678d6b57c1853bbe78080c8f84e84: BUG#26502135: MYSQLD SEGFAULTS IN MDL_CONTEXT::TRY_…
页面测试点整理(非逻辑测试点) 由于自己一年来一直在做页面测试,也看了很多测试理论的书和方法,但是方法并非也无法照搬,此处总结自己工作以来通过各种坑摸出来的一些方法点,希望一边靠上经典测试理论,一边形成自己的一套测试方法. h5页面介绍 HTML5是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准的 HTML 标准版本,现在仍处于发展阶段,但大部分浏览器已经支持某些 HTML5 技术.HTML 5有两大特点:首先,强化了 Web 网页的表现性能.其次,追加了本地数据库…
前言 Activity 生命周期,虽然开发android 程序有几年了,但是很多基本东西还是经常遗忘模糊,在此笔记白纸黑字记录,下次记忆模糊的时候温故知新.网上一搜索一大把,但是多是一大堆各种日志搅来搅去比较模糊难懂,有个别的文章就是一知半解比较片面,这个看似简单但是又说清道不明,为了更加简单快速的理解并做笔记,我使用的是官方的示例ActivityLifecycle运行结果作为记录依据 Activity生命周期重要性 activity生命周期是应用程序井井有条运行的根本,也许不需要实现所有的生命…
#import <objc/runtime.h> void setBeingRemoved(id __self, SEL _cmd) { NSLog(@"------------UNSELECT BY INVOKE."); } // Then these two lines: Class __class = NSClassFromString(@"WebActionDisablingCALayerDelegate"); class_addMethod(_…
Redis 持久化 Redis 提供了不同持久化范围的选项: RDB 持久化以指定的时间间隔执行数据集的即时点(point-in-time)快照. AOF 持久化在服务端记录每次收到的写操作,在服务器启动时会重放,以重建原始数据集.命令使用和 Redis 协议一样的格式以追加的方式来记录.当文件太大时 Redis 会在后台重写日志. 如果你愿意,你可以完全禁止持久化,如果你只是希望你的数据在服务器运行期间才存在的话. 可以在同一个实例上同时支持 AOF 和 RDB.注意,在这种情况下,当 Red…
在iOS开发调试过程中以及上线之后,程序经常会出现崩溃的问题.简单的崩溃还好说,复杂的崩溃就需要我们通过解析Crash文件来分析了,解析Crash文件在iOS开发中是比较常见的. 现在网上有很多关于解析崩溃信息的博客,但是大多质量参差不齐,或者有些细节没有注意到.今天写一篇博客总结一下我对崩溃调试的使用和技巧,如果有哪些错误或遗漏,还请指点,谢谢! 获取崩溃信息 在iOS中获取崩溃信息的方式有很多,比较常见的是使用友盟.百度等第三方分析工具,或者自己收集崩溃信息并上传公司服务器.下面列举一些我们…
Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和转发.下面通过分析Apple开源的Runtime代码(我使用的版本是objc4-646.tar)来深入理解Objective-C的Runtime机制. Runtime数据结构 在Objective-C中,使用[receiver message]语法并不会马上执行receiver对象的message方法的代码,而是向receiver发…
前言:          Objective C的runtime技术功能非常强大,能够在运行时获取并修改类的各种信息,包括获取方法列表.属性列表.变量列表,修改方法.属性,增加方法,属性等等,本文对相关的几个要点做了一个小结. 目录: (1)使用class_replaceMethod/class_addMethod函数在运行时对函数进行动态替换或增加新函数 (2)重载forwardingTargetForSelector,将无法处理的selector转发给其他对象 (3)重载resolveIns…
1. 注册所有解码器 av_register_all(); 2. Codec & CodecContext AVCodec* codec = avcodec_find_decoder(CODEC_ID_AAC);    if (!codec)    {        fprintf(stderr, "codec not found\n");        exit(1);    } AVCodecContext *codec_ctx= avcodec_alloc_context…
http://ios.jobbole.com/89551/ http://ios.jobbole.com/88982/ 2.隐私数据访问问题 问题出现 现在app能运行了,当我打开相机时突然又crash了,好吧,坑还不少,崩溃日志如下: This app has crashed because it attempted to access privacy-sensitive data without a usage description.The app's Info.plist must co…
Android&iOS崩溃堆栈上报 原文地址:http://www.cnblogs.com/songcf/p/4885468.html 通过崩溃捕获和收集,可以收集到已发布应用(游戏)的异常,以便开发人员发现和修改bug,对于提高软件质量有着极大的帮助.在这里总结一下这几天做崩溃捕获的收获. 我们项目使用的是cocos2dx-js,那么要捕获的信息就有以下三点: js脚本语法错误.js调用为定义的native对象(程序不会崩溃) iOS(obj-c)/Android(java)端的未捕获异常导致…
一组外企iOS开发的笔试题,您能回答出来吗?从群里收集来的. (miki西游@mikixiyou的文档,原文链接: http://mikixiyou.iteye.com/blog/1546376  转载请注明出处和作者) 1 why can't NSArray contain NSInteger Instance? with which extra step can you do it? 2.complete this code so that it becomes syntacticallty…
一组外企iOS开发的笔试题,您能回答出来吗?从群里收集来的. 1 why can't NSArray contain NSInteger Instance? with which extra step can you do it?2.complete this code so that it becomes syntacticallty correct using no more than one additional word and  square branckets NsInteger m…
Objective高级语法精讲二 Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和转发.下面通过分析Apple开源的Runtime代码(我使用的版本是objc4-646.tar)来深入理解Objective-C的Runtime机制. Runtime数据结构 在Objective-C中,使用[receiver message]语法并不会马上执行receiver对象的message方…