前言 在测试Android APP的过程中遇到crash时,我们都需要把崩溃日志导出来作为附件传到bug管理工具中,今天分享一下我用的方式。...本文介绍的方法,只需要3~5秒即可获取崩溃日志,比较快捷。 准备工作 在网上下载adb工具包,并保存在任意目录。 在环境变量path下添加adb的路径。...在logcat.bat的同级目录下会生成一份log文件,从文件中搜查FATAL关键字,便可找到崩溃代码。
当我们的app上线到应用市场之后,它发生了什么崩溃其实我们是不知道的。今天我们介绍一个方法来监控和收集用户手机上的异常崩溃同时上报给我们自己。...thread * @param e the exception */ void uncaughtException(Thread t, Throwable e); } ` 当线程崩溃的时候...这就是我们用来获取崩溃的方法。通常我们会定义一个CrashHandler,然后在Application初始化时注入这个Handler,这样在程序崩溃的时候就可以抓到异常了。...crashHandler.init(getApplicationContext()); 这样一来就可以在uncaughtException中做我们想做的事情,比如写入文件,或者上传到我们的服务器
再通过操作数据库或其他手段进行构造脏数据,测试服务器的错误处理能力。2:再利用mock或抓包工具,强行修改返回值,测试app端的容错能力。...其次网络问题也是有概率引起崩溃,就是在网络环境很恶劣 或变动频繁的情况下进行所有接口测试,保证返回值全面完整。观察接口返回是否有拉下的数组元素。因为app的超时判定 和服务器的超时判定是不统一的。...导致崩溃的原因在于服务器返回超时后(不是无网络,不是关掉wifi或数据流量),接口报什么http状态码,一般是502,app原则上是要对所有接口502都有对应处理和提示,但实际情况是,很多接口有提示不崩溃...测试办法就是测试点中计划好所有这种可以操作到消失实体的情况,来进行模拟测试。或者抓包时强行更改请求实体,来达到请求一个不存在实体的场景,观察服务器如何处理并返回,app又是否会因此而崩溃。...[解决办法]:提醒用户更换手机或关掉后台其他app进程,崩溃的app要进行全面测试,定位到具体什么操作导致崩溃。
目录总结 01.抛出异常导致崩溃分析 02.RuntimeInit类分析 03.Looper停止App就退出吗 04.handleApplicationCrash 05.native_crash如何监控...06.ANR是如何监控的 07.回过头看addErrorToDropBox 前沿 上一篇整体介绍了crash崩溃库崩溃重启,崩溃记录记录,查看以及分享日志等功能。...项目地址:https://github.com/yangchong211/YCAndroidTool 欢迎star,哈哈哈 01.抛出异常导致崩溃分析 线程中抛出异常以后的处理逻辑。...进程的时候,系统已经为app设置了一个异常处理,并且最终崩溃后会直接导致执行该handler的finallly方法最后杀死app直接退出app。..., app.userId, app.pid, app.processName, app.info.flags, annotation); // Dump
王小虎看电影的app突然莫名崩溃?李二狗新买的手机为何无故变卡? 黑屏、死机,怪事频发,这一切的背后到底是设备的沦丧,还是程序员技术的扭曲?...安卓手机卡顿、app崩溃、黑屏死机、OOM,主要是内存问题,罪不在Android系统,罪在开发APP的各位。 ?...我们该如何从架构层面优化app性能? 太多的开发者对性能优化没有实际开发经验,这个是病得治,灵丹妙药就是项目实战!
image.png 你们项目中怎么处理程序崩溃? 当然是try住了 那异常日志怎么收集呢?...嗯...应该会.....吧 在未知异常的情况下,有办法让程序不崩溃么? 嗯...应该可以吧......具体我进行了简单的测试,分别针对了以下三种情况。 没有try catch 有try catch但是没有异常 既有try catch又有异常。...有异常时候性能下降了289 倍 当然,以上测试为极端情况,目的是放大问题,直面问题,所以以后try catch要尽可能的缩小作用域。 * * * 异常日志要怎么收集呢?...但是这里一定要控制好异常处理逻辑,虽然无限重启loop(),但是如果一直异常也不是长久之计,这个try相当于try住了整个App的运行逻辑。
前言 1、准备 开发者账号 自从 Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有 app 具有 “推送” 等功能的时候,要真机测试就必须要开发者账号和设置证书...待测试的项目 2、真机测试步骤 1) 创建 App ID 2) 创建证书请求文件(CSR 文件) 3) 根据 CSR 创建开发者证书(CER)(开发、测试用的 Develope 证书) 4) 添加设备...2、填写信息创建 app ID 第一个选项:明确的 app id 与项目中的 Bundle Identifier 相对应,如果你打算将应用程序中加入 Game Center,或在应用中使用应用内购买...第二个选项:通用 app id 可以在所有不需要明确 id 的 app 中使用,淘宝上卖的真机调试证书就是这个 2、创建证书请求文件(CSR 文件) CSR 文件主要用于绑定你的电脑的...然后点击导出 填好名字和储存位置,点击储存 填写该 P12 文件证书的密码,点 “好” 然后生成 P12 文件 其实 P12 文件不仅是真机测试的时候用,上架的时候也会用
(Thread.UncaughtExceptionHandler var0) ` 很多人可能没了解过这个东西可以干嘛用, 其实它的作用是可以传入一个 Handler来捕获那些没有被捕获的异常, 比如 app
文档不全面,简直就是羊入虎口,但是,看介绍不错,直接可以调用安卓和ios开发,支持热更新,项目集成app了Sdk。渲染能力还是比较强。...最后说说uni-app,也是在项目中选择使用了uni-app,真是的以进入uni-app这个框架,就相等与调入虎口一样,踩不完的坑,写不完的bug,但是主要这个语法简单,基于vue,可以说会vue和小程序...,就很容易上手,直接可以开发项目, uni-app编写运行三个平台,只对微信小程序编译运行的是最好的,但是头条和百度,必须是手动打开才能可以,第一次编译也不一定能编译成功,编译之后,app.js文件丢三落四...uni-app一定要用到条件编译这个方法。在项目中用到了很多很多关于条件编译的,分别对每个平台操作在接下来的遇到的问题会一一说出。...1.代码编译之后 第一次编译每个平台的小程序,就会发现,头条小程序app.js文件,少引入了三个重要的文件,而且app.json配置文件也没有,无论怎么编译都无动于衷,最后没有办法,只有把其他代码直接拷贝
前言 关于拦截异常,想必大家都知道可以通过Thread.setDefaultUncaughtExceptionHandler来拦截App中发生的异常,然后再进行处理。...让我的APP永不崩溃 既然我们可以拦截崩溃,那我们直接把APP中所有的异常拦截了,不杀死程序。这样一个不会崩溃的APP用户体验不是杠杠的?...我拿把扇子扇了几下,有点冷但是故作镇定的说: “这位老哥,你可以把异常上传到自己的服务器处理啊,你能拿到你的崩溃原因,用户也不会因为异常导致APP崩溃,这不挺好?”...如果主线程中抛出这个异常,那么主线程就会被停止,所以APP就会卡住无法正常操作,时间久了就会ANR。而子线程崩溃了并不会影响主线程也就是UI线程的操作,所以用户还能正常使用。 这样好像就说的通了。...,还是可以正常操作app,这又是什么原理呢?
App的上线测试不可能囊括所有的错误,以及一些极端的情况可能考虑不到, 所以给App设置崩溃日志反馈是很有必要的,很多第三方都有做到,例如说腾讯的Bugly,友盟的统计等等,都可以实现到,但是如果仅仅是需要向服务器反馈崩溃日志的话...系统的API中给我们提供了一个可以捕获App异常的方法: Thread.setDefaultUncaughtExceptionHandler(restartHandler); // 程序崩溃时触发线程...以下用来捕获程序崩溃异常 所以我们就可以使用以上方法来解决反馈崩溃日志的需求,以下是具体代码: /** * 创建服务用于捕获崩溃异常 */ private static...public void uncaughtException(Thread thread, Throwable ex) { restartApp(ex);//发生崩溃异常时...,重启应用 } }; /** * 重启App */ private static void restartApp(Throwable ex)
上线之后不久,发现几十个人上线之后服务器就崩溃了。一开始还能用大量预算来购买服务器用以支撑,但几天之后由于宣传火爆,随着用户的增多,这才发现单纯增加服务器的成本实在太高了。...玩家开始逐渐骂服务器垃圾,各种掉线、卡顿、crash。本想领先竞品抢先进入市场,结果收获的却是满怀期待玩家们的流失。为什么!因为没有做压力测试! ? 一.为什么游戏服务器要做压力测试呢?...而压力测试则是将各种因素考虑到极点来对服务器进行专业性和系统性的测试,以便较大程度上改善系统的瓶颈和了解服务器承载量,所以游戏上线前是非常有必要对服务器做一次完整专业的压力测试的。 ?...现在好了,专业的游戏服务器压力测试工具——腾讯WeTest服务器压测工具,就要对外开放服务了,终于找到了途径来解决压力测试了! 四.腾讯WeTest服务器压力测试能为我提供些什么呢?...腾讯WeTest服务器压力测试主要是性能测试方向以及手动测试不能测试或比较难测的地方。
前言 说到专项测试,大家的第一反应可能是流量测试、电量测试、弱网络测试等及其对应的专项测试工具。除了以上,关于专项测试我们还要知道: 1) 我应该在什么阶段去做专项测试。...2.系统分析:一般分成APP的系统分析及后台的系统分析。包括以下几点: 1) 系统或者模块架构。 2) 系统或者模块的交互时序图。 3) 每个模块的详细的业务描述。 4) 本次新增哪些功能。...我们这提到的专项测试的流程和技术则是让业务组中的测试人员去实践的,针对某个模块做深入的专项测试,而不是用工具组那类集成的专项测试。...1.3 第三阶段:集成测试与灰度测试 终于到了最后一个阶段了,在该阶段功能基本上也稳定了,应用的各个模块都会进入最后的集成测试。一般稍大规模的公司就会进行RC测试以及灰度测试。...专项测试既需要面的广度也需要深度。 注:引用书籍-《大话APP测试2.0-移动互联网产品测试实录》
分享的主题:App专项测试--冲突测试 什么是冲突测试? 冲突测试是一种叫法,可能不同的公司叫法不同。我们所谓的冲突测试是指,在运行某一程序的功能时被第三方功能或者软件给干扰的测试。...冲突测试的应用范围和一些应用场景? 冲突测试这种测试方法,常见于手机软件测试、移动通信类嵌入式软件测试等领域。...冲突测试目的:验证在模块操作过程中触发一些常见打断,客户端对于事件优先级的处理是否影响了功能,这一点很重要,往往我们在质量把控方面会忽视这一点。 测试方法:在被测app操作过程中触发预先准备好的事件。...通过标准:系统事件可以正常触发,app中的各状态表现正常。3种情况的预期现象以各是否符合常规、合理为标准。...例:如app在搜索加载进度条过程中电话呼入,此时搜索过程被弹出电话呼入提示压盖,搜索转入后台操作,响铃可以正常提示等,无论是接听或挂机后,app搜索要么还在加载进度,或者已经转入到结果界面,最终2个进程互不中断
功耗 功耗,通俗的理解即电流通过导体使设备运行,导体本身的电阻将电能转换为热能的过程,因此,通常功耗测试也叫电量测试。 耗电量测试是指测试App在运行过程中消耗的能量。...硬件工具 基于基于硬件的测试方案,使用用电量表来测试手机耗电量。该方法优点是测试比较精准,同样缺点也很明显缺点:采购成本高,测试的是整个手机,不是被测APP,测试时要减少系统本身和其他app的干扰。...原因是因为web某些资源没有加载出来,其中的一些资源需要访问Google服务器,但是这些资源被墙了,无法访问。只要解决了墙的问题,submit的问题也就迎刃而解了。...top app:该栏显示当前时刻哪个app处于最上层,就是当前手机运行的app。用来判断某个app对手机电量的影响。 Coulomb charge电量消耗值,单位毫安时mAh。...iOS功耗测试 Energy Log 启动Instruments,选择你的设备和要检测的app,打开Energy Log,如下图所示:(充电然后进行电量测试不合理) ?
当前APP网络环境比较复杂,移动运营商网络有2G、3G、4G、5G网络,甚至未来的6G网络,以及越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异,都会对用户使用App造成一定影响。...另外,当前App使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。如果App没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR、数据丢失等问题。...因此App网络测试,特别是弱网测试尤为重要。 网络测试要点 ?...弱网测试 如何进行弱网测试 SIM卡的网络切换( 手机-设置-移动网络设置-网络类型选择,可以进行2G/3G/4G网络切换) 具体弱网场景测试,常见场景包括:地铁/巴士、电梯、楼梯间、停车场 使用虚拟机模拟网络速度...,如用树莓派搭建的弱网测试仪。
APP安全威胁 在App项目中都会碰到三座App安全大山。App客户端安全、数据传输安全、App服务端安全。下面以分析检测的思路进行对App安全威胁的这三座大山进行一些剖析梳理总结。...App客户端安全测试 运行环境检测 1.反编译App代码,查看App中是否存在检测root的关键代码。 2.运行App程序,观察确认是否能够正常运行并有对应提示用户信息。...通过分析:如果App没有完整性校验的功能,那么App就可以通过反编译修改,二次打包签名并能正常运行。如果App有完整性校验功能,那么App二次打包后,是不能正常运行的。...App服务器安全 App服务端安全需要关注的是服务端API安全、业务逻辑安全、中间件安全、服务器应用安全。主要可以通过渗透测试的方式对App的服务器进行安全检测,通过模拟恶意攻击方式进行对服务器攻击。...从而提高App服务器的安全性。
背景测试说iOS 12的手机上安装Xcode14.0.2导出的新包后,打开就崩溃,但是在系统版本高的手机上就没有问题。调试后发现,崩溃日志是dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib,具体如下:dyld: Library...Referenced from: /private/var/containers/Bundle/Application/55730273-D9D6-4C42-9335-7A56F92B7F2C/xxx.app...testing directly from Xcode, as well as after submitting the app to the App Store....注意2在项目中添加了-Wl,-weak-lswiftCoreGraphics到Other Linker Flags之后,编译运行发现还是会崩溃,还是报错dyld: Library not loaded:
服务器数据恢复过程: 某法院的一台服务器由于硬盘出现故障导致服务器崩溃,在当地一家数据恢复机构进行了数据恢复操作,但是数据恢复没有成功,于是负责人在北京寻找服务器数据恢复公司进行数据恢复。...服务器崩溃无法启动数据恢复方法;北亚数据恢复中心服务器数据恢复案例.png 该服务器负责人携带服务器内的所有硬盘来到北京数据恢复中心,硬件工程师首先对所有硬盘进行物理检测,经检测未发现硬盘物理故障,也就是说该服务器崩溃的原因并不是硬盘故障...经过分析发现服务器内至少有2块硬盘离线所以导致服务器崩溃,数据恢复工程师使用穷举法将最早掉线的硬盘剔除后重组磁盘阵列,将生成的数据和服务器内的另一组完好raid同时挂载到原服务器上进行校验,经过客户验证...;服务器的模块老化、服务器系统更新、意外断电等情况都有可能导致服务器崩溃和数据丢失;错误的拔插服务器内的硬盘、误删除等人为因素也是导致服务器数据丢失的另一大因素。...如果服务器由于未知原因出现崩溃、无法启动等数据丢失问题,切忌非专业人士在非洁净空间内对服务器内的硬盘进行拆卸、更换磁头等数据恢复操作,并且建议服务器管理员将故障硬盘进行妥善保管等待专业的数据恢复工程师进行处理
领取专属 10元无门槛券
手把手带您无忧上云