Android Studio 之 Bug调试

前言
假装已确定问题大概位置(已标记断点)或者也可以在开启Debug模式后再打断点也不迟,那么问题来了?如何进化Debug模式呢?

Android Studio 之 Bug调试 - 阿里云

简单调试
1. step over:一步步往下走(点击单步调试按钮或按快捷键F8)
Android Studio 之 Bug调试 - 阿里云
2. step into:看到方法往里走(点击单步调试按钮或按快捷键F7)
Android Studio 之 Bug调试 - 阿里云
3. force step into :所有方法看完整
Android Studio 之 Bug调试 - 阿里云
这个是可以看到你所调用的所有方法的实现会让你跟着它走一遍,研究源码使用非常方便
4. step out :有断点下一个,走完断点继续走
Android Studio 之 Bug调试 - 阿里云
这里如果我们的一个流程当中,包括调用的方法,如果有断点走到下一个断点,如果没有断点,而是在一个调用的方法当中,会跳出这个方法,继续走。
5. run to Cursor :下个断点我们见
Android Studio 之 Bug调试 - 阿里云
二、高级调试
1. 跨断点调试

如果我们设置了多个断点,现在我们需要直接跳转到下一个断点,那么直接点击下图就可以了
Android Studio 之 Bug调试 - 阿里云

2.观察变量

如果我们想观察1个或者几个变量的值的变化,如果我们在Variables显示面版中观察如果我这里有太多太多的自定义变量和系统变量了,那么就难观察了,我们可以做如下操作:
点击Watches,点击+号,然后输入变量的名称回车就OK了,而且会有历史记录哦
Android Studio 之 Bug调试 - 阿里云
如果变量名比较长我们可以这样:
选择[Variables]中的变量名然后点击[右键],选择[Add to Watches],然后Watches面板中就有了
Android Studio 之 Bug调试 - 阿里云
3.设置变量的值

在程序中有很多的条件语句和循环语句,调试也是比较耗时的,我们可以通过快速设置变量的值来加快调试速度,我们可以做如下操作:
选择[Variables]中的变量名然后点击[右键],选择[Set Value..]或者选择之后直接F2(如上图)(下图为Variables面板)
Android Studio 之 Bug调试 - 阿里云
4.查看断点
Android Studio 之 Bug调试 - 阿里云
点击之后我们可以看到所有的断点,以及位置代码,也可以设置一些属性

5.停止调试

要注意的是这里的[停止调试]不是让程序停止,而是跳过所有调试
Android Studio 之 Bug调试 - 阿里云