硬件缺陷和软件错误是“技术侦探”的劲敌,它们负隅顽抗,见缝插针。本书提出的九条简单实用的规则,适用于任何软件应用程序和硬件系统,可以帮助软硬件调试工程师检测任何bug,不管它们有多么狡猾和隐秘。
作者使用真实示例展示了如何应用简单有效的通用策略来排查各种各样的问题,例如芯片过热、由蛋酒引起的电路短路、触摸屏失真,等等。本书给出了真正能够隔离关键因素、运行测试序列和查找失败原因的技术。
无论你的系统或程序发生了设计错误、构建错误还是使用错误,本书都可以帮助你用正确的方法来思考,使bug自动暴露,进而一网打尽,斩草除根。
第1章 简介 1
1.1 本书如何教会你调试 1
1.2 这些规则都很显而易见 2
1.3 本书适用于任何人 3
1.4 本书可用于调试各种问题 3
1.5 本书的主旨不在预防、保证或筛选 4
1.6 调试不仅仅是故障检修 5
1.7 有关案例故事 6
1.8 精彩内容,即将上演 6
第2章 总体规则 8
第3章 理解系统 10
3.1 阅读手册 12
3.2 逐字逐句阅读整个手册 13
3.3 知道什么是正常的 15
3.4 知道工作流程 16
3.5 了解你的工具 17
3.6 查阅手册 18
3.7 小结 20
第4章 制造失败 21
4.1 制造失败 24
4.2 从头开始 24
4.3 引发失败 25
4.4 不要模拟失败 25
4.5 如何处理间歇性bug 27
4.6 如果做了所有尝试之后问题仍然间歇性发生 29
4.6.1 仔细观察失败 29
4.6.2 不要盲目相信统计数据 30
4.6.3 是已修复bug,还是仅仅由于运气好,它不再发生了 31
4.7 “那不可能发生” 33
4.8 永远不要丢掉调试工具 34
4.9 小结 36
第5章 不要想,而要看 37
5.1 观察失败 41
5.2 查看细节 43
5.3 问题忽隐忽现 46
5.4 对系统进行插装 46
5.4.1 设计插装工具 46
5.4.2 过后构建插装 48
5.4.3 不要害怕深入研究 50
5.4.4 添加外部插装 51
5.4.5 日常生活中的插装 51
5.5 海森堡测不准原理 52
5.6 猜测只是为了确定搜索的重点目标 53
5.7 小结 54
第6章 分而治之 55
6.1 缩小搜索范围 59
6.1.1 确定范围 60
6.1.2 你在哪一侧 61
6.2 插入易于识别的模式 62
6.3 从有问题的支路开始查找问题 63
6.4 修复已知bug 64
6.5 首先消除噪声干扰 65
6.6 小结 66
第7章 一次只改一个地方 67
7.1 使用步枪,而不要用散弹枪 69
7.2 用双手抓住黄铜杆 71
7.3 一次只改变一个测试 72
7.4 与正常系统进行比较 73
7.5 自从上一次能够正常工作以来你更改了什么 74
7.6 小结 77
第8章 保持审计跟踪 78
8.1 记下你的每步操作、顺序和结果 80
8.2 魔鬼隐藏在细节中 81
8.3 关联 83
8.4 用于设计的审计跟踪在测试中也非常有用 84
8.5 好记性不如烂笔头 84
8.6 小结 85
第9章 检查插头 86
9.1 怀疑自己的假设 88
9.2 从头开始检查 89
9.3 对工具进行测试 90
9.4 小结 92
第10章 获得全新观点 93
10.1 寻求帮助 94
10.1.1 获得全新观点 94
10.1.2 询问专家 94
10.1.3 借鉴别人的经验 95
10.2 到哪里寻求帮助 96
10.3 放下面子 97
10.4 报告症状,而不是理论 98
10.5 小结 99
第11章 如果你不修复bug,
它将依然存在 101
11.1 检查问题确实已被修复 103
11.2 检查确实是修复措施解决了问题 103
11.3 bug从来不会自己消失 104
11.4 从根本上解决问题 105
11.5 对过程进行修复 107
11.6 小结 107
第12章 通过一个案例讲述所有规则 109
第13章 牛刀小试 113
13.1 灯和吸尘器的故事 113
13.2 大量出现的bug 115
13.3 宽松的限制 119
13.4 识破bug 123
第14章 从帮助台得到的观点 128
14.1 帮助台的限制 130
14.2 规则,帮助台风格 130
14.2.1 理解系统 131
14.2.2 制造失败 132
14.2.3 不要想,而要看 132
14.2.4 分而治之 134
14.2.5 一次只改一个地方 134
14.2.6 保持审计跟踪 135
14.2.7 检查插头 136
14.2.8 获得全新观点 136
14.2.9 如果你不修复bug,它将依然存在 137
14.3 小结 137
第15章 结束语 139
15.1 调试规则网站 139
15.2 如果你是一名工程师 139
15.3 如果你是一名经理 140
15.4 如果你是一名教师 141
15.5 小结 141
《天津滨海新区史话》内容简介:天津滨海新区地处海河下游、渤海湾西岸,河海相依,临海近都,区位优越。这里曾是中国人民抗击外侮
《让品牌说话:品牌营销高效准则》内容简介:这本书从“道”的角度说起,先从品牌营销的本质核心入手,让读者心中能有一个框架逻辑
《不懂财报就当不好经理》内容简介:随着市场经济的快速发展,无论是企业经营者还是普通职员,读懂财务报表都是一件非常有必要的事
《企业级Kubernetes应用》内容简介:Kubernetes从2015年7月21日发布1.0版本,经过三年多的时间不断发展至今,其作为开源的容器应用
《江南古典私家园林》内容简介:中国江南,自然山水秀美,物产丰饶,自魏晋以来一直是一方富庶的乐土。明清以降,更是文人巨贾会聚
《Excel 2003办公应用实战从入门到精通(超值版)》内容简介:《Excel 2003办公应用实战从入门到精通(超值版)》通过精选案例引导读
《计算机科学概论(Python版)》内容简介:本书是美国哈维玛德学院“计算机科学通识”课程的配套教材,用独特的方法介绍计算机科学
《经济学原来很有趣》内容简介:《经济学原来很有趣》是一本通过古今中外经济学大师之口,阐述经济学思想精华的图书。本书虚拟了16
《Android Jetpack开发》内容简介:随着移动领域的飞速发展,越来越多的工程师开始追求更高效率、更便捷的开发模式。而各种框架层出
《抖音电商从入门到精通》内容简介:怎么在星图接广告赚钱?怎么开发课程卖钱?普通人如何接全民任务?团购带货怎么提升销量?本书
MoreEffectiveC++的重点包括:·经过验证的一些用来改善程序效率的方法,包括尖锐而犀利地检验C++语言特性所带来的时间和空间上的
单片机原理及接口技术(2版) 内容简介 书中系统地介绍了80c51系列单片机的原理及接口技术,较好地体现了应用型人才的培养要求,其特点为:着力片上资源、强化编程...
《中原经济区竞争力报告(2017)》内容简介:本书围绕传统平原农区工业化与经济社会转型的这个主轴,就经济竞争力、社会保障建设、
《网红经济思维模式》内容简介:如果你想赚钱,可以入驻电商平台,拥抱互联网。如果你想出名,可以开通自媒体,打通宣传路。如果你
本书列举了大量成功的商业和研究系统的实例,此外,列出了许多事务处理算法的可编译的C代码片段。本书对于那些对实现分布式系统或
《三维CAD/CAM》内容简介:结合机械类专业的实际,以够用为度,主要讲述设计模块和加工模块。第一部分为设计模块(即CAD模块),主
在线阅读本书Agreatintroductionforretailstudents,thisbookoffersauser-friendlyreferenceg...
《有英气:兵器传说图典》内容简介:我们一直看到的金箍棒的形象,竟然是错的?传说中秦始皇改变地貌,是怎么做到的?哪吒是三头六
本书论述了信息检索的有关概念与基本知识,以及Internt重要的中外文搜索引擎与检索技巧,介绍了网上各类型电子信息和重要专题信息
快学快用OFFICE2007电脑办公应用百练成精CD 内容简介 本书以实例的方式讲解了office 2007软件在办公方面的应用,可帮助初学者从入门上升到提高,...