怎么应对复现不了的 bug?

143 天前
 nnegier

就是有些 bug 比如闪退比如功能异常发生在特定的某些手机上,但是找来了同型号手机依旧是复现不了那个问题。因为复现不了,虽然有报错日志,但弄起来极其没底没边。因为涉及到隐私和用户不便也不能向客户要来手机 debug ,就很为难,而且有些用户它只是告诉你有问题(当然这样已经比很多用户好了,更多的用户是有 bug 就直接不用了,懒得告诉你),就没然后了,也无法继续联系交流

2550 次点击
所在节点    程序员
24 条回复
xueling
143 天前
说一下我的看法,这种问题排查不要只从能否复现的角度处理,应该主要从两方面着手,1 是日志,2 是监控。
1 、app 程序层面的问题,分为普通异常日志和崩溃日志,一般来说异常类日志都有较完整的调用链信息,定位问题相对容易。但造成崩溃的原因比较多,可能是内存问题,用户设备问题、也可能只是某个参数校验失败或空指针异常处理不当导致的,不同情况下崩溃日志有可能完整也可能不完整。所以从日志层面上可以添加全局的异常信息捕获,并将全局异常日志上报,防止漏掉异常信息,而导致排查无从下手。
2 、app 的异常监控体系不完善,可以使用我的开源项目,快速搭建起异常监控体系,https://github.com/xl-xueling/xl-lighthouse ,基于通用型流式统计实现,接入方便、使用灵活、性能强大,轻松实现任意细粒度、任意维度的数据监控。将手机型号、手机系统版本号、app 版本号、页面、模块、错误码等关键信息上报。全面监控各类异常的次数和频率等信息(我自己感觉我的开源项目是应对这类问题业内最强大的工具了~~)。

总之,我觉得 app 问题处理,侧重点应在两方面:一是全局异常日志(代表你没有正常处理的异常),二是普遍性错误(比如:某个 app 版本或某个机型错误率或崩溃率在 0.5%以上的异常),公司内部可以对异常阈值确定一个标准,比如灰度时发现影响超过 0.5%的用户的异常必须测试人员复测解决,该版本不能继续发布,而影响范围较小的偶发性问题、不容易复现的问题,可以暂时忽略或陆续解决。要做到应对领导的所有盘问一切以数据说话,只要日志和监控体系建立起来,你对线上故障的驾驭能力会得到极大的提升。
yb2313
143 天前
这是 feature
musi
142 天前
复现不了的 bug 就不是 bug
什么?老板找你?你让老板把这个 bug 给你复现了再说
jeesk
142 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1054844

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX