今天知乎看到别人问《老程序员解bug有那些通用套路?》 就总结了下自己的方法,回答了下。罗嗦了不少字,就摘出来了。
个人经验和操作:
根据实际情况步骤会有跳过和循环。
1. 弄清楚环境
- 1.1 对于客户端和偏硬件的,环境影响很大的,可能是某地方兼容没做好,或者直接没支持。
1.2 对于 server 端, 依赖的的内核或者某个dll版本不对,功能异常或者直接崩溃都有可能。
- 1.3 弄清楚环境也是必现必须的,因为可能实际机器没有开发机器配置高也会有莫名的问题,一不小心高估板子的能力,你在模拟环境怎么都不会必现的。
2. 问清楚操作(访问的接口),和 输入输出
2.1 根据操作和访问的接口,才能知道问题大概的位置,和其依赖的模块
2.2 弄清楚数据,才能去做模拟和复现
3. 确认业务逻辑
3.1 对于有些操作,要先确认业务逻辑是否理解的正确,这是解决问题的关键,由于沟通和经验,定位不一样,对同样的东西理解是有偏差的,一点逻辑偏差,不确认的话,一直沉溺在自己的理解,是不可能准确定位到问题的。
3.2 何况有些时候是你接手的代码,本来就一头雾水,如果代码写的乱,不清楚逻辑就没法搞了。
上面 是准备工作,下面就要真正去确定问题的原因了。 如果代码都是自己写的,基于上面准备工作弄清楚了,如果是逻辑问题,那么你心里应该有个数了,就是不确定,也应该大概确定到问题可能出现在那块代码了。
哥们在吗 看到加下QQ396268960 我最近也要搞ssh二级交互请教你几个问题
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.