《调试九法:软硬件的错误排查之道》小结摘录
来源:互联网 发布:windows日志查询 编辑:程序博客网 时间:2024/06/06 04:44
以下为小Z从《调试九法:软硬件的错误排查之道》进行的各个章节的小结摘录。
调试规则
规则1 理解系统
规则2 制造失败
规则3 不要想,而要看
规则4 分而治之
规则5 一次只改一个地方
规则6 保持审计跟踪
规则7 检查插头
规则8 获得全新观点
规则9 如果你不修复bug,它将依然存在
理解系统
这是第一条规则,因为它是最重要的。
l 阅读手册
l 仔细阅读每个细节
l 掌握基础知识
l 了解工作流程
l 了解工具
l 查询细节
制造失败
虽然看起来很简单,但如果不制造失败的话,调试就会变得很困难。
l 制造失败
l 从头开始
l 引发失败
l 但不要模拟失败
l 查找不受你控制的条件(正是它导致了间歇性失败)
l 记录每件事情,并找到间歇性bug的特征
l 不要过于相信统计数据
l 要认识到“那”是可能会发生的
l 永远不要丢掉一个调试工具
不要想,而要看
凭空想象,问题可能有几千条原因。而实际的原因只有去看了才能发现。
l 观察失败
l 查看细节
l 植入插装工具
l 添加外部插装工具
l 不要害怕深入研究
l 注意海森堡效应
l 猜测只是为了确定搜索的重点
分而治之
当bug的藏身之地不断被缩小一半时,它将很难再隐藏下去。
l 通过逐次逼近缩小搜索范围
l 确定范围
l 确定你位于bug的哪一侧
l 使用易于查看的测试模式
l 从有问题的一端开始搜索
l 修复已知bug
l 首先消除噪声干扰
一次只改一个地方
我们在生活中要有一点先见之明。如果你所做的更改没有起到预期的作用,那么就把它改回来。它们可能会产生无法预料的影响。
l 隔离关键因素
l 用双手抓住黄铜杆
l 一次只改一个测试
l 与正常情况进行比较
l 确定自从上一次正常工作以来你改变了什么地方
保持审计跟踪
不要只是在心里记住“保持审计跟踪”这条规则,而要把它写下来。
l 把你的操作、操作的顺序和结果全部记录下来
l 要知道,任何细节都可能是重要的
l 把事件关联到一起
l 用于设计的审计跟踪在测试中也非常有用
l 把事情记录下来!
检查插头
一些显而易见的假设往往是错误的。请恕我赘述,假设错误通常是最容易修复的错误。
l 质疑你的假设
l 从头开始
l 对工具进行测试
获得全新观点
不管怎样,你都需要休息一下,喝杯咖啡。
l 征求别人的意见
l 获取专业知识
l 听取别人的经验
l 帮助无处不在
l 放下面子
l 报告症状,而不要讲你的理论
l 你提出的问题不必十分肯定
如果你不修复bug,它将依然存在
现在你已经掌握了所有的技术,没有理由再让bug存在了。
l 查证问题确实已被修复
l 查证确实是你的修复措施解决了问题
l 要知道,bug从来不会自己消失
l 从根本上解决问题
l 对过程进行修复
从帮助台得到的观点是不明确的
只能通过远程方式了解问题,眼睛和耳朵接收到的信息并不十分准确,而且关键是时间紧迫。
遵循规则。 无论用户多么糊涂,都必须找到应用规则的途径。
对行动和结果加以确认。 用户会误解你的意思,同时会犯错误。通过确认他们所说和所做的一切可以及早发现这些问题。
使用自动工具。 不要让用户参与系统生成的日志和远程监控与控制工具。
即使是最简单的假设也需要确认。 是的,有些人就是不知道有电才能使用字处理器。
使用可用的故障检修指南。 要处理的很可能就是已知的、好的设计。不要忽略历史。
帮助完善故障检修指南。 如果找到了某个已知系统的一个新问题,将解决问题的所有内容进行归档可以帮助下一位支持人员。
- 《调试九法:软硬件的错误排查之道》小结摘录
- 学习《调试九法:软硬件错误的排查之道》
- 读《调试九法:软硬件错误的排查之道》
- 读《调试九法:软硬件错误的排查之道》
- 读《调试九法:软硬件错误的排查之道》
- 调试九法 软硬件错误的排查之道
- 调试九法 软硬件错误的排查之道
- 《调试九法-软硬件错误的排查之道》
- 读书笔记 调试九法-软硬件错误的排查之道
- 《调试九法-软硬件错误的排查之道》
- 调试九法--软硬件错误的排查之道
- 《调试九法:软硬件错误的排查之道》学习笔记
- 《调试九法:软硬件错误的排查之道》读书心得
- 《调试九法:软硬件错误的排查之道》学习笔记
- 《调试九法——软硬件错误的排查之道》【PDF】下载
- 软硬件调试九法之总序
- 软硬件调试九法:第一条规则,理解系统
- 软硬件调试九法:第二条规则,重现失败
- phpStorm设置显示代码行号
- 计算缓存大小+清除缓存
- demo5,鼠标移入移出改变样式,总结
- 自动轮播+频道管理 练习
- 2017 Multi-University Training Contest 10 1011 Two Paths HDU 6181 (次短路)
- 《调试九法:软硬件的错误排查之道》小结摘录
- #define 的特殊用法 ... __VA_ARGS__
- 【Java面试知识点】Java 最佳实践的面试问题
- 15 分钟学会使用 Git 和远程代码库
- Spring学习笔记(一)IOC
- LintCode:H-Sliding Window Median
- C#基础-006(3) 判断一个年份是否为闰年
- python实现-明明的随机数
- DOS XML