背景
看了部分软工视频,对软件调试技术有了些许的了解;
也对代码的调试有了自己的见解。
调试策略
-
强行排错
是一种最常用的、效率较低的调试技术。它不需要过多的思考,直接打印出内存中 的内容,希望从中找出错误原因所在。在程序的特定部位设置打印语句,跟踪程序的执行,监视重要变量的变化;也可以利用某些程序语言的调试功能或专门的交互式调试工 具,通过设置断点等方法分析程序的动态过程。在采用这一技术时,必须有明确的目的, 尽量减少无关信息的输出,以提高设计效率。 -
回溯法
回溯是在小的程序中常用的一种有效的调试技术。具体做法是:分析错误表象,确定症状的位置,人工沿程序的控制流往回追踪源程序代码,直到找到错误原因为止。对于小程序, 回溯法可能把错误范围缩小到程序中的一小段代码,仔细分析这段代码不难确定出错的位置。不适合大的程序。 -
归纳法
归纳法是从个别现象推断出一般性结论的思维方法。采用归纳法调试程序的过程为: 首先把和错误有关的数据组织起来进行分析,以便发现可能的错误原因。然后导出对错误 原因的一个或多个假设,并利用已有的数据来证明或排除这些假设。如果已有的数据尚不 足以证明或排除这些假设,则需设计并执行一些新的测试用例,以获得更多数据。 -
演绎法
演绎法是从一般原理或前提出发,经过排除和细化的过程推导出结论。采用这种方法来调试程序时,首先设想出所有可能的出错原因,然后试图用测试来排除每一个假设的原因, 如果测试表明某个假设的原因可能是真的原因,则对数据进行细化以精确定位错误。
调试原则
在调试过程中,心理因素的影响常常高于技术手段而占主导地位,许多调试原则主要 是基于心理学方面的问题。切骄切燥!由于调试工作有查错和排错两项任务,所以调试原则也分成相应的两组。