Debug中的推理

1.观察错误
2.大胆假设
3.小心求证
4.假设成立则修正错误
假设推翻则重新假设

例如
1.如发现内存泄漏
2.假设A处创建的对象没有释放
3.屏蔽掉A处代码,重新编译,观察内存使用情况
4.相同条件下内存已经不再泄漏了, 则添加代码来释放A处创建的对象
反之,相同条件下内存还再泄漏,则内存泄漏仍有其他原因,重新假设
(不排除A处有错误,只有还存在错误)

推理的四种方法
1.演绎(零运行过程)
2.观察(一次运行过程)
3.归纳(多次运行过程)
4.试验(多次可控制的运行过程)

假设的依据
1.问题描述
2.程序代码
3.故障运行过程
4.参照运行过程
5.之前的假设

记录每一个假设和每一次的试验,防止遗忘,浪费精力做重复的事

在试验时注意简化,不一定要运行整个庞大的应用程序,针对自己的想法,
剥离出一小段代码单独运行,伪造假定的输出,观察是否有假定的输出
posted @ 2009-08-20 20:41  寻道  阅读(153)  评论(0)    收藏  举报