📜  软件工程 |调试方法

📅  最后修改于: 2022-05-13 01:57:00.328000             🧑  作者: Mango

软件工程 |调试方法

调试
调试是发现和解决计算机程序中妨碍计算机软件或系统正确运行的缺陷或问题的过程。

需要调试:
一旦在程序代码中发现错误,就必须首先建立对错误负责的精确程序语句,以便修复它们。

调试中的挑战:

调试的同时也有很多问题。这些是:

  • 调试是由开发软件程序的个人完成的,这个人很难承认犯了错误。
  • 调试通常是在巨大的压力下执行的,以尽快修复支持的错误。
  • 准确再现输入条件可能很困难。
  • 与替代的软件程序改进活动相比,调试过程中存在的研究、文献和正式准备相对较少。

调试方法:
以下是程序员普遍采用的一些调试方法。

  • 蛮力法:
    这是最常用的调试技术,但也是最不经济的方法。在这种方法中,程序加载了打印语句以打印中间值,希望一些写入的值有助于发现错误的语句。通过使用符号程序(也称为源代码调试器),这种方法变得非常系统化,因为可以简单地检查各种变量的值,并且可以轻松设置断点和观察点来检查值变量毫不费力。

  • 回溯:
    这也是一种相当常见的方法。在这种方法中,从发现错误症状的语句开始,向后推导源代码,直到发现错误。可悲的是,由于要返回的供应线的种类将会增加,潜在的落后方法的数量将会增加,并且应该会变得难以想象,因此限制了这种方法的使用。

  • 原因排除方法:
    在这种方法中,列出了可能导致错误症状的原因,并进行了测试以消除每个错误。从错误症状中识别错误的一个相关技术是包故障树分析。

  • 程序切片:
    这种技术类似于回溯。在这里,搜索室被进程切片减少了。特定语句中特定变量的程序片段是该语句之前的一组供应线,这将影响该变量的价值

调试指南:
调试通常由支持他们独创性的程序员管理。以下是一些有效调试的一般技巧:

  • 很多时候调试需要对程序风格有深入的了解。尝试纠正支持对系统样式和实现的部分理解可能需要过多的精力来调试甚至是简单的问题。
  • 调试通常甚至可能需要系统的完整计划。在这种情况下,新手程序员通常会犯的一个典型错误是试图不修复错误,而不管它的症状。
  • 应该注意滑动修正可能引入新错误的可能性。因此,当每一轮错误修复时,都应该进行回归测试。