常用的一些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操作的问题的区别,也即是检查单因子变量的原则来检查问题。