编写代码很多时候都会“差强人意”,很难一次获得想要的结果,出现错误的时候需要查找错误的原因,这种查找的过程可以称为“程序调试”。一般来讲程序员百分之十的时间写代码,百分之九十的时间都在调试,因此要认识到调试的重要性。调试的方式有多种,这里介绍最常用的两种:Logcat调试方式和断点调试方式。
2.3.1 Logcat调试
Logcat调试方式很简单,在可能出现错误的地方将变量的值打印出来,方便分析总结错误原因。这里编写一个简单的Java程序,如下:
private int calculateMultiply(int i) {
return i * i;
}
int[] testInts = new int[10];
public void test(View view) {
int i = 0;
while (i <10) {
i++;
int i2 = calculateMultiply(i);
testInts[i-1] = i2;
Log.d(TAG, "onCreate: " +testInts[i-1]);
}
}
使用while循环不断计算i*i的值并通过Log打印出来,这时查看Logcat窗口中的Log信息如图2.60所示。
图2.60 Logcat窗口中的Log信息
这里通过TAG(MainActivity)来过滤日志信息,可以看出所有的i*i都被打印出来了,根据打印的值即可初步判断是否发生错误。
2.3.2 断点调试
断点调试相对于Logcat调试要复杂一些,较Logcat显示运行后的结果,断点调试可以暂停程序的运行而获得运行中的结果。调试可以分成几个步骤,下面一一介绍。
1. 添加断点
在想要调试的代码行的左边栏左键点击一下即可添加一个断点,如图2.61所示。
图2.61 添加断点
在i++处添加了一个断点,下面就可以点击工具栏中的调试按钮开始调试。
2. 开始调试
点击工具栏中的调试按钮,如图2.62所示。