注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

多则惑 少则明

顾明的博客

 
 
 
 
 

日志

 
 

调试问题的九个方法《调试九法》  

2012-08-06 22:15:50|  分类: 技术笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

      越来越觉得比较经典的书都是比较薄的书,文学类的如此,技术类的更是如此,优秀的作者总是能用简单明了的语言把一个本来比较复杂的东西说的很清楚,而有些文章和书籍的作者感觉完全是为了炫耀自己的文字技术,往往简单的问题给绕来绕去搞的很复杂,让人读来很郁闷,因为总觉得自己看不明白是自己比较笨,而往往不会觉得是作者的问题。
      最近零零散散看了一些技术类的书,目前市场上感觉技术类的书Thoughtworks出版的书质量比较高,他们的书往往很薄,但是能把复杂的技术用简单的文字说的一清二楚,读起来不那么累,而且都是实战的经验总结,不是虚头巴脑的胡扯。另外一类书是最近几年火起来的Pragmatic Programmer系列书籍,书的内容清晰明了,没有长篇大论,讲诉最精髓的部分,蛮适合现在这个相对浮躁的年代来阅读,拿起一本900页的技术书和拿起一本150页的书心里上的感觉相差很远,前者的厚度往往让人产生畏惧感而不愿意开始阅读。
     《调试九法》也是属于经典而且比较薄的书,作者把自己三十多年来的调试软硬件问题的经验总结出一本如此薄的书,很不容易,作者这种资历,写长篇大论容易反而写的简短更难,几十年的调试经验总结出9条方法,我摘录如下,以后便于回忆。

1. 理解系统
  • 阅读手册
  • 仔细阅读每个细节
  • 掌握基础知识
  • 了解工作流程
  • 了解工具
  • 查阅细节
2. 制造失败
  • 从头开始
  • 引发失败
  • 不要模拟失败
  • 查找不少你控制的条件
  • 记录每件事情,并找到间歇性Bug的特征
  • 不要过于相信统计数据。
  • 要认识“那”是可能会发生的。
  • 永远不要丢掉一个调试工具
3. 不要想,而要看
  • 观察失败
  • 查看细节
  • 植入插装工具
  • 添加外部插装工具 使用分析器,示波器,量表,金属检测仪
  • 不要害怕深入研究,
  • 注意海森堡效应。不要让仪器影响了系统
  • 猜测只是为了确定搜索的重点。
4. 分而治之
  • 通过逐次逼近缩小搜索范围
  • 确定范围
  • 确定你位于bug的哪一侧
  • 使用易于查看的测试模式
  • 从有问题的一段开始搜索
  • 修复已知bug,bug互相保护,相互隐藏
  • 首先消除噪声干扰。
5. 一次只改一个地方
  • 隔离关键因素
  • 用双手抓住黄铜杆
  • 一次只改一个测试
  • 与正常情况进行比较
  • 确定自从上一次正常工作以来你改变了什么地方
6. 保持审计跟踪
  • 把你的操作,操作的顺序和结果全部记录下来
  • 要知道,任何细节都可能是重要的
  • 把事情关联到一起
  • 用于设计的审计跟踪在测试中也非常有用
  • 把事情记录下来!不要相信大脑,相信笔记
7. 检查插头
  • 质疑你的假设
  • 从头开始
  • 对工具进行测试
8. 获得全新观点
  • 征求别人的意见
  • 获取专业知识
  • 听取别人的经验
  • 帮助无处不在
  • 放下面子
  • 报告症状,不要讲你的理论
  • 你提出的问题不必十分肯定
9. 如果你不修复bug,它将依然存在
  • 查证问题确实已经被修复
  • 查证确实是你的修复措施解决了问题。
  • 要知道,bug从来不会自己消失
  • 从根本上解决问题
  • 对过程进行修复
一分耐心抵得上十分聪明  -荷兰谚语

调试问题的九个方法《调试九法》 - bldr - 多则惑 少则明
 
  评论这张
 
阅读(99)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017