文章目录

  • 一:定义
  • 二:调试流程(了解)
    • (1)流程
    • (2)软件错误的特征
  • 三:调试途径
    • (1)蛮干法
      • A:思路
      • B:适用性
    • (2)回溯法
      • A:思路
      • B:适用性
    • (3)原因排除法
  • 四: 调试准则(了解)

一:定义

调试是在测试发现错误之后排除错误的过程

二:调试流程(了解)

(1)流程

(2)软件错误的特征

  • 症状和产生症状的原因可能在程序中相距甚远
  • 当改正了另一个错误之后,症状可能暂时消失了
  • 症状可能实际上并不是由错误引起的
  • 症状可能是由不易跟踪的人为错误引起的
  • 症状可能是由定时问题而不是由处理问题引起的
  • 可能很难重新产生完全一样的输入条件
  • 症状可能时有时无
  • 症状可能是由分布在许多任务中的原因引起的,这些任务运行在不同的处理机上

三:调试途径

(1)蛮干法

A:思路

按照“让计算机自己寻找错误”的策略,这种方法印出内存的内容,激活对运行过程的跟踪,并在程序中到处都写上WRITE (输出)语句,在生成的信息海洋的某个地方发现错误原因的线索

B:适用性

蛮干法是寻找软件错误原因的最低效的方法。仅当所有其他方法都失败了的情况下,才应该使用这种方法

(2)回溯法

A:思路

从发现症状的地方开始,人工沿程序的控制流往回追踪分析源程序代码,直到找出错误原因为止

B:适用性

当调试小程序时回溯法非常有效的。但随着程序规模的扩大,应该回溯的路径数目也变得越来越大,以至彻底回溯变成完全不可能了

(3)原因排除法

  • 对分查找法
  • 归纳法
  • 演绎法

四: 调试准则(了解)

  • 仔细分析程序出错处的逻辑模式,找出该错误出现的所有地方
  • 在改正错误前应仔细研究源程序,以评估逻辑和数据结构的耦合程度
  • 修改软件产品的同时改进开发软件产品的软件过程,避免今后在程序中出现错误

(软件工程复习核心重点)第六章实现和测试-第八节:调试相关推荐

  1. (软件工程复习核心重点)第一章软件工程概论习题

    这一章题目主要以简答和名词解释为主 文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 (2)了解 四:简答题 (1)必考 1.关于软件危机 2.关于软件工程 3. 关于软件生命周期 4.关于 ...

  2. (软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型

    文章目录 一:软件过程概念 (1)定义 (2)构成 二:主要模型 (1)瀑布模型 A:定义 B:特点 C:优缺点 D::适用范围 E:实际的瀑布模型 (2)快速原型模型 A:定义 B:原理 C:优缺点 ...

  3. (软件工程复习核心重点)第九章软件项目管理

    文章目录 一:估算软件规模 (1)代码行技术 (2)功能点技术 二:工作量估算 三:进度计划 (1)甘特图(Cantt图) (2)工程网络 四:人员组织 五:质量保证 六:软件配置管理 七:能力成熟度 ...

  4. (软件工程复习核心重点)第一章软件工程概论-第二节:软件工程

    文章目录 一:软件工程 (1)软件工程的定义 (2)软件工程的本质特征 (3)软件工程基本原理 二:软件工程方法学 (1)概念 (2)分类 一:软件工程 (1)软件工程的定义 软件工程:采用工程的概念 ...

  5. (软件工程复习核心重点)第一章软件工程概论-第一节:软件和软件危机

    文章目录 一:软件的概念.特点与发展 (1)软件发展的三个阶段 (2)软件的概念 (3)软件的特点 二:软件危机 (1)软件危机的概念 (2)软件危机的表现 (3)软件危机产生的原因 A:主观原因 B ...

  6. (软件工程复习核心重点)第九章面向对象分析-第二节:面向对象分析之建立对象模型

    文章目录 一: 基本概念 (1)对象模型 (2)先建立对象模型的原因 (3)信息来源 (4)典型的建模步骤 二:确定类与对象 (1)找出候选的类与对象 A:客观事物分类 B:非正式分析 C:提取隐含的 ...

  7. (软件工程复习核心重点)第二章可行性研究习题

    文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 四:简答题 (1)必考 1. 关于可行性研究 2. 关于数据流图 3. 关于数据字典 (2)了解 五:应用题/画图题 一:选择题 二:填空题 ...

  8. (软件工程复习核心重点)第九章面向对象分析-第三节:面向对象分析之建立动态模型和功能模型

    文章目录 一:建立动态模型 (1)概念 A:适用性 B:步骤 (2)编写脚本 A:定义 B:目的 C:内容 D:方法 (3)设想用户界面 A:重要性 B:目的 C:方法 (4)画事件跟踪图 A:必要性 ...

  9. (软件工程复习核心重点)第二章可行性研究-第三节:数据流图

    文章目录 一:数据流图的定义(DFD) 二:数据流图的特点 三:数据流图的符号 (1)符号 (2)注意(了解) 四:数据流图示例 (1)示例1 A:首先从题目中提取四种成分 B:画数据流图 (2)示例 ...

  10. (软件工程复习核心重点)第二章可行性研究-第四节:数据字典

    文章目录 一:相关概念 (1)定义 (2)作用 (3)意义(了解) 二:内容 三:定义数据的方法 (1)数据元素组成数据的方式 (2)符号表示 四:数据字典示例 五:用途 一:相关概念 (1)定义 数 ...

最新文章

  1. 亚马逊专家揭秘:如何建立自动检测乳腺癌的深度学习模型
  2. 支持取消操作和暂停操作的Backgroundworker
  3. 利用HttpRequester进行接口测试
  4. mysql 批量_mysql LOAD语句批量录入数据
  5. 网管交换机和非网管交换机有什么区别?
  6. React开发(191):ant design中inputNumber格式化
  7. php修改ini文件内容,php上传大文件需要修改的php.ini配置文件
  8. php 前端加密密码,WEB前端对应PHP后端的AES加密解密代码
  9. Java dom4j解析RESTFull风格发布的WebService的xml文件
  10. 计算机网络(HCIP、HCIE)系列文章大合集
  11. 视屏教程、电子书、技术文档
  12. android 极光推送测试,Android 极光推送基本步骤
  13. 主流手机游戏引擎介绍
  14. 坦白说查看教程 Python
  15. 二舅治好我的精神内耗,也让我火出了B站
  16. 51单片机C语言访问外ram,C51中访问外部RAM的方法
  17. 解决studio 3T时间到期方法
  18. PC端跳转QQ、企业微信、微信界面
  19. JS实现:哔哩哔哩2020校园招聘技术类笔试卷(二)
  20. audiosever耗电_audio服务自动停止 - 卡饭网

热门文章

  1. 划重点:微信小程序1月9日正式上线
  2. 微信JS SDK开放,前端开发者“鸡冻”了!
  3. python3 新式类_python新式类和旧式类区别
  4. 10038 mysql,关于MySql 10038错误的完美解决方法(三种)
  5. SQLite | SQLite 与 Pandas 比较篇之一
  6. 轨迹相似性度量之基于Hausdorff与LCSS的理解
  7. 颠覆教科书:打破50年来的认知,DNA同义突变会影响蛋白质折叠,进而影响细胞生长...
  8. 样本分布不平衡,机器学习准确率高又有什么用?
  9. gggenes绘制多物种基因结构比较
  10. 曾国藩36字诀,改变你的人生