APP闪退后日志捕捉及问题定位
面试的时候是否有被问到,假如当一个安卓app闪退了,然后操作发现不是的必现的时候,你是怎么解决,提交Bug的,怎么确定最后是否解决的?
大部分的答案如下:
1.很多的人的回答是尽量的去回忆操作步骤,然后一直重现,并先提交一个条Bug,作为多个版本跟踪;
2.连接ddms或者输入adb logcat 指定路径进行日志打印,然后继续操作,看是否会出现,出现了就直接把文本上传到Bug附件;
两个方案第2个方案会比较好一点,但这都是事后才做的措施,效果不是很大。我提供两个方案,可以解决规避这些问题;
方案一.让开发在app里面加入日志功能当闪退了,在apk安装的路径报名文件夹产生一个时间戳_crash文件,具体路径根据你们意愿调整,然后出现闪退,就会产生日志,提交到Bug里面。这个功能要经过测试,实现才可使用哦;
方案二:安装SDK,当测试过程app闪退以后,手机通过USB连接电脑,连接成功以后,在dos下输入adb logcat -v time >d:/xxx.txt,完成以后,打开该文件,通过关键词FATAL 以及apk包名就可以定位到哪段代码造成闪退,然后复制 提交Bug备注说明;两个方案都是到提交到Bug里面,但注意居然不是必现的,那就要确认必现步骤,当提交Bug以后,开发定位到问题以后,要Bug里面备注,复现的步骤,然后Bug已解决,你要根据步骤在发生该问题的版本验证,是否必现,是必现步骤的话,就可以直接新版验证是否解决,无法必现要跟开发确认,进行次数验证以及版本监控,整体这才算对偶现Bug的闭环方案;
从两个方案来讲,第一个方案需要依赖于开发,第二方案,只要安装SDK进行配置就可以,通用,并且是一项技能。所以第二个方案技能一定要掌握。
分类:
APP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义