很多人虽然整天都在用as,但是一旦代码出现问题就无从下手,这时候我就想起来那本《论debug的重要性》的书了,之前接收ali大神的代码我真是头疼,但是大神教我如何debug之后感觉整个世界的不一样了;就用下面的代码来做演示:
public class MainActivity extends AppCompatActivity {
int a;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for (int i = 0; i < 10; i++) {
if (i == 5) {
System.out.println(i + a);
}
}
getName();
}
private void getName() {
int b = 0;
b = a * b;
System.out.println("MainActivity.getName=");
getAge();
}
private void getAge() {
int m = 1;
int n = 10;
int k = m * n + m;
}
}
1 给某一行debug,可以这样(一般会这种就能解决很多问题):
点击调试按钮就变为这样:
如何debug模式操作一个变量:
其实我们很多时候根本不需要关心这个方法里面的变量是怎么变化的,这时候就用到了方法断点:看下图:
就是在每个方法前面打个断点就可以了;运行后是这样的:尼玛,老子无语了,垃圾csdn,用的小霸王做服务器,上传图片老是失败,算了,都是行家,用嘴了;可看上面的图:
方法断点非常有用,当我们调试的时候方法里面可能有很多变量,但是我们只关心错误的,方法断点是从这个方法调到下一个理论上的断点,如果跳不过呢? 那就说明者两个方法中有一个里面有错误,这样先缩小范围,再观察左下角的变量是什么值;还有一些条件断点,很简单的,一般也用的很少,主要是用在for语句中,加入for语句的上线是100,搞好错误也定位在这里,难道你要从0跑到100吗?这时候条件断点,在断点上右击会出来一个对话框,在condition后面输入你的条件,假如我想知道在i=70的时候就停下来,那就输入 i=70,运行就可以了;