你所不知道的Android Studio调试技巧【转】

Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手。作为开发者,调试并发现bug,进而解决,可是我们的看家本领。正所谓,工欲善其事必先利其器,和其他开发工具一样,如Eclipse、Idea,Android Studio也为我们提供了强大的调试技巧,今天我们就来看看Android Studio中有关调试的技巧。

首先,来看看Android studio中为我们提供的调试面板(标准情况下):

你所不知道的Android Studio调试技巧【转】


点击右上角Restore ‘Threads’View可先展示目前相关的线程信息:

你所不知道的Android Studio调试技巧【转】


android studio大体为我们提供了7个功能区:

单步调试区

断点管理区

求值表达式

线程帧栈区

对象变量区

变量观察区

下面我们分别对这七个区域进行介绍。

单步调试区

该区提供了调试的主要操作,和你所熟知的一样的,主要有:Step over、step into、force step into、step out、drop frame。

Show Execution Point

你所不知道的Android Studio调试技巧【转】

点击该按钮,光标将定位到当前正在调试的位置.

Step Over

你所不知道的Android Studio调试技巧【转】

单步跳过,点击该按钮将导致程序向下执行一行。如果当前行是一个方法调用,此行调用的方法被执行完毕后再到下一行。比如当前代码是:

int num=10; int min=Math.min(num,100); System.out.println(min);

如果当前调试的是第二行,当点击step over时,Math.min(num,100)方法先执行完后跳到第三行.

Step Into

你所不知道的Android Studio调试技巧【转】


单步跳入,执行该操作将导致程序向下执行一行。如果该行有自定义的方法,则进入该方法内部继续执行,需要注意如果是类库中的方法,则不会进入方法内部。

Force Step Into

你所不知道的Android Studio调试技巧【转】


强制单步跳入,和step into功能类似,主要区别在于:如果当前行有任何方法,则不管该方法是我们自行定义还是类库提供的,都能跳入到方法内部继续执行

Drop Frame

你所不知道的Android Studio调试技巧【转】

没有好记的名字,大意理解为中断执行,并返回到方法执行的初始点,在这个过程中该方法对应的栈帧会从栈中移除.换言之,如果该方法是被调用的,则返回到当前方法被调用处,并且所有上下文变量的值也恢复到该方法未执行时的状态。简单的举例来说明:

public class DebugDemo { private String name = "default"; public void alertName() { System.out.println(name); debug(); } public void debug() { this.name = "debug"; } public static void main(String[] args) { new DebugDemo().alertName(); } }

当你在调试debug()时,执行该操作,将回调到debug()被调用的地方,也就是alertName()方法。如果此时再继续执行drop frame,将回调到alertName()被调用的地方,也就是main().

Force Run to Cursor

你所不知道的Android Studio调试技巧【转】


非常好用的一个功能,可以忽视已经存在的断点,跳转到光标所在处.举个简单例子说明下:

你所不知道的Android Studio调试技巧【转】


比如现在第10行,此时我想调试18行而又不想一步一步调试,能不能一次到位呢?我们只需要将光标定位到相应的位置,然后执行Force Run to Cursor即可:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgwppw.html