android studio 断点调试

  • 断点调试的启动方式

 android studio启动断点调试的方法有两种,其一是下好断点,然后点击1以Debug的形式编译运行程序。

第二种方式是在程序运行中启动断点调试。方式:启动app后,点击RUN—>image,弹出如下的提示框:

image

在需要的地方打断点,条件出发后就可以直接进入调试模式。

  • 断点调试的基本操作

       image 从箭头所指的位置开始,

第一个为step over,点击该按钮程序执行下一行,如果当前行为方法调用,这个方法将会被直接执行完毕,然后进行下一行,不会进入方法内。

第二位step into 点击这个按钮时,如果当前代码为自定义方法,程序会进入方法内逐步运行,但不会进入官方库提供的方法内部。否则将进行运行至下一行

第三位force step into 该按钮与第二位相似,不同的是,点击此按钮会进入任何方法内部。该功能会使你脱离当前的断点,而是从你选择的方法开始时进行调试。

第四位step out 该按钮会快速运行完该方法,跳出当前执行的方法内部,达到该方法调用的下一句。

第五位drop frame.该按钮会使你回到调用该方法的开始处,让你继续调试。此方法与step out的不同之处为,step out会运行完通过step into跳入的方法,数据改变,而drop frame 会跳到该方法调用的开始处,恢复原始初始值,可以重新运行该方法。

第六位run to cursor 该按钮会使程序跳转至下一断点处。当设有多个断点时逐句运行会很麻烦,可以通过该功能快速跳转至下一断点。

第七位Evaluate expression。当程序运行到某一个断点的时候,恰好你对该处的某对象的某些属性很感兴趣,那么可以通过该按钮跳出

Evaluate expression窗口,在该窗口处可以输入你感兴趣的表达式,然后点击evaluate按钮,你就可以得到想要知道的结果了了。如图所示image

 

  • 条件断点

当你的断点在一个循环里的时候,而你又只对其中的某个元素感兴趣,逐步调试会变得很麻烦,这个时候条件断点可以极大的提高效率。条件断点是指当程序运行满足你指定的条件时,程序才会断下来,使用方法也非常简单,在你的断点处右键会弹出下面的小窗口,写上你的条件即可

image

  • 日志断点

该断点并不能算真正意义上的断点,因为日志断点并没有是程序断下来,而是在你需要的地方输出你需要的信息。这种断点像log一样快速的输出你所需要的信息,从而判断问题出错的地方。使用方式类似条件断点,在断点处右键弹出如图所示的窗口,在红色标注框一的“suspend”处取消选中,红色框二处输入你感性兴趣的日志信息。图二为运行结果

imageimage

  • 方法断点

如果我们只想知道方法调用时的参数或者返回的结果,而对方法的运行的过程并不感兴趣的时候,方法断点是非常明智的选择。我们只需要在感兴趣的方法的第一行答上断点即可。如图所示你会发现该断点图标的不同之处

image

  • Field WatchPoint

当你需要监测某个变量的变化时,这种断点方式可以有效的帮助你。断点的方式和方法断点相似,你只需要在该变量命名的地方打上断点,断点的图标也会稍有不同。右键该断点可以设置一些属性,比如你是要在变量访问的时候停下来还是在变量改变的时候停下来。

  • 异常断点(Exception Breakpoint)

如果你对程序发生的异常感兴趣,Exception Breakpoint是非常不错的选择,当程序运行发生异常时,直接让程序停下来,保留事故发生的现场,你可以即使有效的发现问题的原因以及异常发生的位置。使用方式:进入RUN—>View BreakPoints,弹出如下窗口:

image

点击左上角的加号,弹出如下窗口,选择第三个

image

在下面的窗口输入你感兴趣的异常信息即可。当程序发生该异常时就会自动断下来。

image

  • 设置变量的值

在调试过程中,你发现某个变量的值跟你预期的结果不一样,或者你怀疑某变量这出现某些特殊值时程序会发生崩溃,而当前测试环境又极难模拟这种情况,那么你可以在调试模式时,如图所示,在变量区右键你想监控的变量,设置你想要出现的值,然后继续运行。

image

android studio提供的调试手段远不止这些,需要在开发过程中逐步去发现探索。

参考

Android Studio你不知道的调试技巧         

基本断点debug调试技巧

 Android Studio调试功能使用总结【转】

posted @ 2016-04-18 09:58  Looper-s  阅读(2851)  评论(0编辑  收藏  举报