常用的一些debug时考虑的地方

1。对于下面的语句

A:

if(a&&b)

{

  command1

}

else 

{

  commmand2
}

和下面的语句

B:

if(a) {

    if (b) {

      command1

      }

}

else {

    command2

}

这2个虽然在command1的执行的条件是一样的仅当a和b同时是真的情况下成立,但是对于有一种情况下就是a=ture,b=false,此时A做操作command1,er B必定不会做这个操作的。

 

2。对于一段代码中用到的变量要想想此时的情景下,最容易出现在多线程的下,有没有可能在别的线程被释放了,或者改变了他的属性的值,比如今天flush的时候,把原来的window给释放了,但是下层dequee的时候还用的是原来的窗口,此时就会导致问题。

所以有必要问问自己这个变量会在什么情况下被改变了,这个容易导致问题,要有前瞻的眼光来处理事情。

 

3。如果面对了bug,如果别人的能做出来,但是自己的盒子做不来,分析盒子的image,设备,呆cable和不带calbe,做不做ca操作的问题的区别,也即是检查单因子变量的原则来检查问题。

 

posted @ 2013-09-06 23:30  Colourman  阅读(142)  评论(0编辑  收藏  举报