AndroidStudio Debug调试

132 阅读2分钟

「这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战

AndroidStudio Debug调试

不知道大家平常调试是打印日志,还是打断点进入调试模式,实际上各有各的场景,打印日志很简单,不会影响用户体验,不会卡顿,如果是错误级别信息,即使已经发生了,在控制台也能看到一段时间的日志。而调试模式可以清楚的看到各个变量的数值,也无需多余的打印日志代码。

验证Log日志

开发中经常遇到这样的场景,测试人员跑过来说刚刚发生了闪退,我们一般会怎么回复他呢,“复现一下步骤”,对与有些神奇的问题,还就真难复现了。

我们其实还可以偷偷的链接上设备,这个时候还是能看到错误信息的,这就是打印日志和报错监听的好处。

我根据已有的机型进行测试,先打印日志,再链接设备,控制台能不能看到日志。

在不同机型测试。

机型错误日志Debug日志
OPPO Android11YY
小米Android8YY
联想平板 Android10YN

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

翻译过来是单步跳过,点击该按钮,程序会向下执行一行,如果方法,那么等方法执行完毕之后再进行下一行。它的图标长这样。

20211106183717.jpg

Step into

翻译过来是单步跳入,当该行有自定义方法时,则进入自定义方法执行。有些更底层的方法不能进去。它的图标长这样。

20211106184613.jpg

Force Step Into

翻译过来是强制单步跳入,含义和 Step into类似,但是step into进入不了的方法,它可以进入,都能跳入到方法内部继续执行。

C66C72D8-3414-44DB-B3B1-D0F2BF423149.png

Step out

在调试的时候,进入到某个方法,觉得该方法排查完毕了,没有问题,就可以点击Step out跳出这个方法。

779A9940-67EB-4199-AC8F-F11EE9CE7F13.png

Run to Cursor

移动到光标所在处,当调试模式下,我们把光标定位在某行代码,点击该按钮,就可以直接执行到该行。

E7584C91-070B-4C53-B3DC-62D78B98D057.png