【0.1代码编写知识】之【软硬件的错误排查之道】

以下摘录自《调试九法:软硬件的错误排查之道》

调试规则

  • 理解系统
  • 制造失败
  • 不要想,而要看
  • 分而治之
  • 一次只改一个地方
  • 保持审计跟踪
  • 检查插头
  • 获得全新观点
  • 如果你不修复bug,它将依然存在

理解系统

这是第一条规则,因为它是最重要的。

  • 阅读手册
  • 仔细阅读每个细节
  • 掌握基础知识
  • 了解工作流程
  • 了解工具
  • 查询细节

制造失败

虽然看起来很简单,但如果不制造失败的话,调试就会变得很困难。

  • 制造失败
  • 从头开始
  • 引发失败
  • 但不要模拟失败
  • 查找不受你控制的条件(正是它导致了间歇性失败)
  • 记录每件事情,并找到间歇性bug的特征
  • 不要过于相信统计数据
  • 要认识到“那”是可能会发生的
  • 永远不要丢掉一个调试工具

不要想,而要看

凭空想象,问题可能有几千条原因。而实际的原因只有去看了才能发现。

  • 观察失败
  • 查看细节
  • 植入插装工具
  • 添加外部插装工具
  • 不要害怕深入研究
  • 注意海森堡效应
  • 猜测只是为了确定搜索的重点

分而治之

当bug的藏身之地不断被缩小一半时,它将很难再隐藏下去。

  • 通过逐次逼近缩小搜索范围
  • 确定范围
  • 确定你位于bug的哪一侧
  • 使用易于查看的测试模式
  • 从有问题的一端开始搜索
  • 修复已知bug
  • 首先消除噪声干扰

一次只改一个地方

我们在生活中要有一点先见之明。如果你所做的更改没有起到预期的作用,那么就把它改回来。它们可能会产生无法预料的影响。

  • 隔离关键因素
  • 用双手抓住黄铜杆
  • 一次只改一个测试
  • 与正常情况进行比较
  • 确定自从上一次正常工作以来你改变了什么地方

保持审计跟踪

不要只是在心里记住“保持审计跟踪”这条规则,而要把它写下来。

  • 把你的操作、操作的顺序和结果全部记录下来
  • 要知道,任何细节都可能是重要的
  • 把事件关联到一起
  • 用于设计的审计跟踪在测试中也非常有用
  • 把事情记录下来!

检查插头

一些显而易见的假设往往是错误的。请恕我赘述,假设错误通常是最容易修复的错误。

  • 质疑你的假设
  • 从头开始
  • 对工具进行测试

获得全新观点

不管怎样,你都需要休息一下,喝杯咖啡。

  • 征求别人的意见
  • 获取专业知识
  • 听取别人的经验
  • 帮助无处不在
  • 放下面子
  • 报告症状,而不要讲你的理论
  • 你提出的问题不必十分肯定

如果你不修复bug,它将依然存在

现在你已经掌握了所有的技术,没有理由再让bug存在了。

  • 查证问题确实已被修复
  • 查证确实是你的修复措施解决了问题
  • 要知道,bug从来不会自己消失
  • 从根本上解决问题
  • 对过程进行修复

**从帮助台得到的观点是不明确的

只能通过远程方式了解问题,眼睛和耳朵接收到的信息并不十分准确,而且关键是时间紧迫。

  • 遵循规则。 无论用户多么糊涂,都必须找到应用规则的途径。
  • 对行动和结果加以确认。 用户会误解你的意思,同时会犯错误。通过确认他们所说和所做的一切可以及早发现这些问题。
  • 使用自动工具。 不要让用户参与系统生成的日志和远程监控与控制工具。
  • 即使是最简单的假设也需要确认。 是的,有些人就是不知道有电才能使用字处理器。
  • 使用可用的故障检修指南。 要处理的很可能就是已知的、好的设计。不要忽略历史。
  • 帮助完善故障检修指南。 如果找到了某个已知系统的一个新问题,将解决问题的所有内容进行归档可以帮助下一位支持人员。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容