![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软硬件调试
shuolang126
工作十年,经验之谈
展开
-
软硬件调试九法:第五条规则 一次只改一个地方
1、隔离关键元素就像小学生物课,考察阳光对植物生长的影响,则需要保持养分、灌溉、生长温度等完全一致,一个有阳光照射,一个没有阳光照射,这样才能比较出阳光对植物的生产的影响.bug查找过程也要如此,在查找一个具有多个参数的函数的计算错误时,固定其它参数,同时修改一个参数的输入值,验证输出结果是否正确,从而可以确定是哪个参数导致的计算错误,确定bug。2、一次只改一个测试软件工原创 2016-03-30 06:56:00 · 580 阅读 · 0 评论 -
<读书笔记>软件调试之道 :从大局看调试-零容忍策略
声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载!--------------------------------------------------------------------------------------------缺陷优先如何使缺陷修复与软件开发相结合?如何估计缺陷修复花费的时间?如原创 2016-06-19 07:28:19 · 319 阅读 · 0 评论 -
<读书笔记>软件调试之道 :从大局看调试-理想的调试环境
声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载!-----------------------------------------------------------------------------------------------------自动化测试 1.有效的自动化测试明确说明测试结果是否通原创 2016-06-27 06:49:38 · 365 阅读 · 0 评论 -
<读书笔记>软件调试之道 :问题的核心-如何修复缺陷
声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载!--------------------------------------------------------------------------------------------------有时尽管修复设计的是一个孤立的代码区,但你还是需要大局观,在修复缺陷之后花时间反思原创 2016-06-04 07:59:07 · 363 阅读 · 0 评论 -
<读书笔记>软件调试之道 :从大局看调试-发现代码存在问题
声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载!--------------------------------------------------------------------------------------------------有时尽管修复设计的是一个孤立的代码区,但你还是需要大局观,在修复缺陷之后花时间反思原创 2016-06-08 08:21:26 · 434 阅读 · 0 评论 -
<读书笔记>软件调试之道 :问题的核心-诊断
声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。不要急于动手!尽管可以利用各种工具和技术以及软件自身查找缺陷,但是你最重要的财富是你的智慧一种调试方法提出假设->设计实验->假设不成立,重新开始采用不同类型的实验进行几种不同类型的实验,但是每种实验必须有一个明确的目标。比如软件内部运行状态、软件的输入参原创 2016-05-10 07:11:53 · 953 阅读 · 1 评论 -
<读书笔记>软件调试之道 :实证方法
有效调试不仅仅是排除缺陷,其包含如下几个步骤弄明白软件为何运行错误修复这个问题避免破坏其它部分保持或者提高代码的总体质量确保同样的问题不在其它地方发生,也不会再次发生构建实验、观察结果依赖观察和经验,而不是理论和纯逻辑推理阅读源码,推理软件的运行状况,通常效率低下而危险要仔细的构建实验环境并观察软件的运行状况需要澄清的几个问题你知道发生了什么吗?原创 2016-04-23 07:45:12 · 383 阅读 · 0 评论 -
<读书笔记>软件调试之道 :问题的核心-如何修复缺陷
声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。欢迎转载!修复缺陷对于一个好的修复来说,不仅仅是让软件运行正确,还需要为将来奠定基础。一些列零散的未经仔细考虑的修改,都将是原本的简洁设计逐步消失。好的修复必须同时实现以下目标:修复问题避免引入回归维持或者提高代码的整体质量-----------需要参考的规则如下原创 2016-05-28 07:55:20 · 380 阅读 · 0 评论 -
<读书笔记>软件调试之道 :问题的核心-重现问题
声明:本文档的内容主要来源于书籍《软件调试修炼之道》作者Paul Butcher,属于读书笔记。重现第一,提问第二问题重现是实证过程的最强大武器,如果不能重现问题,你也无法证明修复了它首先按照缺陷报告的描述的步骤来做, 抓住重点,包含三个控制因素软件本身:确保你使用的软件版本和bug提交的版本一致,使用相同的编译工具和相同的编译参数。软件运行环境:如果要与外原创 2016-04-28 06:48:28 · 531 阅读 · 0 评论 -
软硬件调试九法:第四条规则 分而治之
1、通过逐次逼近缩小搜索范围 通过二分法,逐次缩小问题范围,在查找问题时,这个方法是唯一需要应用的规则,所有其它规则都是帮助你遵循这条规则。首先搜索前面1/2,如果有错,则再搜索前1/4,如果没错,则搜索范围就定在1/4-1/2之间,然后再次细分,几次之后就会找到问题。 实际案例:有次程序运行反应很慢,特别是蜂鸣器响一次后,要几秒钟的时间,才能相应按键。因此就采用这个方法,很原创 2016-03-27 07:44:48 · 536 阅读 · 0 评论 -
(知识分享)软硬件调试九法:第八条规则 求助他人, 获得全新观点
1、征求别人意见 我们都是普通人,对任何事情都有偏见或者思维定式,包括对bug隐藏在哪里的看法,这些偏见会导致我们无法看清实际情况。其它人则从另一个角度看问题(可能也是他自己的偏见),但是会找到新的方法,对你解决问题有很大启发。2、获取专业知识 有时系统的某个部分的知识看起来很神秘,我们不必到学校学习一年,而是通过咨询专家快速掌握那些知识,任何情况下,专家都会比我们原创 2016-04-09 07:21:37 · 368 阅读 · 0 评论 -
软硬件调试九法:第七条规则 检查插头
1、质疑你的假设 你十分运行了正确的代码?电源插头是否已插好? 比如网络连接失败了,是不是你不小心把网线接头踢掉了?比如汽车无法启动,是否油箱没油了? 有时我们看到一个问题,通常在某个特定位置看到了正确的问题,但是导致这个问题的却在上游或者底层驱动上,只是系统不具备正确操作条件时,出现了奇怪的表现。2、从头开始 是否正确的对内存进行了初始化?电源开关是否已经打开? 比如原创 2016-04-08 07:00:45 · 392 阅读 · 0 评论 -
(知识分享)软硬件调试九法:第九条规则 如果你不修复一个bug,它将永远存在
1、查证问题确已被修复 如果遵循了“制造失败”这条规则,就知道如何验证你确实修复了问题。无论问题和修复看起来多么明显,你都无法保证修复是有效的,直到做了测试并验证。2、查证确实你的修复措施解决了问题 如果你取消这个修复,系统再次出现失败,再应用这个修复,问题消失,才能够证明你确实修复了问题。这样做的原因是,在调试期间,往往会改变一些不属于修复的地方,有时这些改变会隐藏问原创 2016-04-12 06:44:24 · 431 阅读 · 0 评论 -
软硬件调试九法:第六条规则 保持审计跟踪
1、把你的操作、操作顺序和结果全部记录下来 要记录所做的事、做事的顺序、以及发生的结果,每次做完都要全部记录。就像调试硬件一样,必须指导每个步骤以及执行结果,才能确定下一步关注的重点。2、要知道,任何细节都可能是重要的 有时bug报告可能就有一句简单的话,比如仪器显示出错了,或者仪器无法正常工作,这样的内容对测试人员没有实质帮助,除了记录发生的事情,还要注意的细节是问题原创 2016-04-04 08:19:13 · 550 阅读 · 0 评论 -
软硬件调试九法:第三条规则 不要想而要看
凭空想象,问题的原因很多,实际的原因只有看了才能发现! 如果猜测失败是如何发生的,那么常常会修复一些不是bug的问题,不仅浪费时间、还会破坏其它地方,因此不要这样做。 在医学领域,有听诊器、抽血化验、X透视、B超等方法。同样 在软件中,观察的方法有设置断点、添加调试语句、监视程序值、以及检查内存等方法。硬件方法有通过示波器、逻辑分析仪、示波器等工具测试信号、时序和线路阻抗等方式。当错误的假设别否定原创 2016-03-21 07:17:32 · 1061 阅读 · 0 评论 -
软硬件调试九法:第一条规则,理解系统
1 阅读芯片手册 会告诉你芯片如何初始化、如何配置、外围电路如何搭配,才能让其正常稳定工作。 另外还要看厂家提供的errata sheet,比如STM32,每个系列都有errata sheet(勘误手册),里面介绍了MCU使用时的局限性,可以避免设计中由于误用MCU引发的的致命缺陷!2 仔细阅读手册的每个细节 比如有关MCU中断处理机制、IO口及其复用功能的使用、复位管原创 2016-03-19 21:43:46 · 560 阅读 · 0 评论 -
软硬件调试九法之总序
前言:1、本文内容主要来源于书籍《调试九法:软硬件错误的排查之道》作者D**id J.Agans,属于读书笔记+个人体会。 2、本书介绍的方法的宗旨不是预防、保障和筛选,以预防bug的产生,而是如何找到bug并修复它们,如何高效的追踪和解决不易察觉的软硬件问题,不针对特定的平台、语言或者工具,不涉及晦涩的测试理论。3、你看过后,可能会咦一声,说“我一直都是这么做的!”,那么恭喜你,原创 2016-03-19 21:38:43 · 401 阅读 · 0 评论 -
<读书笔记> 代码整洁之道
概述 1、本文档的内容主要来源于书籍《代码整洁之道》作者Robert C.Martin,属于读书笔记。2、软件质量,不仅依赖于架构和项目管理,而且与代码质量紧密相关,本书提出一种,代码质量与整洁成正比的观点,并给出了一系列行之有效的整洁代码操作实践,只要遵循这些规则,就可以编写出整洁的代码,从而提升代码质量。 3、该书介绍的规则均来自于作者多年的实践经验,涵原创 2016-07-31 08:34:46 · 500 阅读 · 0 评论