��调试之所以困难,是由于人的心理因素以及技术方面的原因而致。从心理因素方面来看,调试的能力因人而异,虽然也有经验造成的差距,但是,对于有同样教育背景与经验的程序员,他们的调试能力差别也很大。另外,程序员不愿意别人对自己编制的程序说三道四,不会积极配合查错,这就增加了调试的难度。 从技术角度来看,查找错误的难度在于:
�� 现象与原因所处的位置可能相距甚远。高耦合的程序结构中这种情况更为明显。
�� 当其它错误得到纠正时,这一错误所表现出的现象可能会暂时消失,但并未实际排除。
�� 现象实际上是由一些非错误原因(例如,舍入得不精确)引起的。
�④ 现象可能是由于一些不容易发现的人为错误引起的。
�� 错误是由于时序问题引起的,与处理过程无关。
�� 现象是由于难于精确再现的输入状态(例如,实时应用中输入顺序不确定)引起。
�� 现象可能是周期出现的。在嵌入式系统中常常遇到。
��