查找bug原因的一些个人经验

今天知乎看到别人问《老程序员解bug有那些通用套路?》 就总结了下自己的方法,回答了下。罗嗦了不少字,就摘出来了。


个人经验和操作:

根据实际情况步骤会有跳过和循环。

1. 弄清楚环境

  • 1.1 对于客户端和偏硬件的,环境影响很大的,可能是某地方兼容没做好,或者直接没支持。
  • 1.2 对于 server 端, 依赖的的内核或者某个dll版本不对,功能异常或者直接崩溃都有可能。

  • 1.3 弄清楚环境也是必现必须的,因为可能实际机器没有开发机器配置高也会有莫名的问题,一不小心高估板子的能力,你在模拟环境怎么都不会必现的。

2. 问清楚操作(访问的接口),和 输入输出

  • 2.1 根据操作和访问的接口,才能知道问题大概的位置,和其依赖的模块

  • 2.2 弄清楚数据,才能去做模拟和复现

3. 确认业务逻辑

  • 3.1 对于有些操作,要先确认业务逻辑是否理解的正确,这是解决问题的关键,由于沟通和经验,定位不一样,对同样的东西理解是有偏差的,一点逻辑偏差,不确认的话,一直沉溺在自己的理解,是不可能准确定位到问题的。

  • 3.2 何况有些时候是你接手的代码,本来就一头雾水,如果代码写的乱,不清楚逻辑就没法搞了。

上面 是准备工作,下面就要真正去确定问题的原因了。 如果代码都是自己写的,基于上面准备工作弄清楚了,如果是逻辑问题,那么你心里应该有个数了,就是不确定,也应该大概确定到问题可能出现在那块代码了。

《查找bug原因的一些个人经验》有4个想法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注