「这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战」
AndroidStudio Debug调试
不知道大家平常调试是打印日志,还是打断点进入调试模式,实际上各有各的场景,打印日志很简单,不会影响用户体验,不会卡顿,如果是错误级别信息,即使已经发生了,在控制台也能看到一段时间的日志。而调试模式可以清楚的看到各个变量的数值,也无需多余的打印日志代码。
验证Log日志
开发中经常遇到这样的场景,测试人员跑过来说刚刚发生了闪退,我们一般会怎么回复他呢,“复现一下步骤”,对与有些神奇的问题,还就真难复现了。
我们其实还可以偷偷的链接上设备,这个时候还是能看到错误信息的,这就是打印日志和报错监听的好处。
我根据已有的机型进行测试,先打印日志,再链接设备,控制台能不能看到日志。
在不同机型测试。
机型 | 错误日志 | Debug日志 |
---|---|---|
OPPO Android11 | Y | Y |
小米Android8 | Y | Y |
联想平板 Android10 | Y | N |
Debug调试
有时候用好工具能帮助我们节省大量的时间
在开发中,也难免遇到并发问题,日志调试也有稍微的延迟,大量日志排查起来也是很头疼,用Debug就可以清楚看到每个环节的信息,了解它,才能解决它。
例子代码:
public void test(View view) {
// 断点 index = test(index);
Log.d(TAG, "这是 debug 日志:" + index);
Log.e(TAG, "这是 error 日志");
}
private int test(int i) {
return ++i;
}
Step over
翻译过来是单步跳过,点击该按钮,程序会向下执行一行,如果方法,那么等方法执行完毕之后再进行下一行。它的图标长这样。
Step into
翻译过来是单步跳入,当该行有自定义方法时,则进入自定义方法执行。有些更底层的方法不能进去。它的图标长这样。
Force Step Into
翻译过来是强制单步跳入,含义和 Step into类似,但是step into进入不了的方法,它可以进入,都能跳入到方法内部继续执行。
Step out
在调试的时候,进入到某个方法,觉得该方法排查完毕了,没有问题,就可以点击Step out跳出这个方法。
Run to Cursor
移动到光标所在处,当调试模式下,我们把光标定位在某行代码,点击该按钮,就可以直接执行到该行。