android studio启动断点调试的方法有两种,其一是下好断点,而后点击
以Debug的形式编译运行程序。html
第二种方式是在程序运行中启动断点调试。方式:启动app后,点击RUN—>
,弹出以下的提示框:android
在须要的地方打断点,条件出发后就能够直接进入调试模式。git
断点调试的基本操做
第一个为step over,点击该按钮程序执行下一行,若是当前行为方法调用,这个方法将会被直接执行完毕,而后进行下一行,不会进入方法内。express
第二位step into 点击这个按钮时,若是当前代码为自定义方法,程序会进入方法内逐步运行,但不会进入官方库提供的方法内部。不然将进行运行至下一行android-studio
第三位force step into 该按钮与第二位类似,不一样的是,点击此按钮会进入任何方法内部。该功能会使你脱离当前的断点,而是从你选择的方法开始时进行调试。app
第四位step out 该按钮会快速运行完该方法,跳出当前执行的方法内部,达到该方法调用的下一句。ide
第五位drop frame.该按钮会使你回到调用该方法的开始处,让你继续调试。此方法与step out的不一样之处为,step out会运行完经过step into跳入的方法,数据改变,而drop frame 会跳到该方法调用的开始处,恢复原始初始值,能够从新运行该方法。测试
第六位run to cursor 该按钮会使程序跳转至下一断点处。当设有多个断点时逐句运行会很麻烦,能够经过该功能快速跳转至下一断点。lua
第七位Evaluate expression。当程序运行到某一个断点的时候,刚好你对该处的某对象的某些属性很感兴趣,那么能够经过该按钮跳出
Evaluate expression窗口,在该窗口处能够输入你感兴趣的表达式,而后点击evaluate按钮,你就能够获得想要知道的结果了了。如图所示
条件断点
当你的断点在一个循环里的时候,而你又只对其中的某个元素感兴趣,逐步调试会变得很麻烦,这个时候条件断点能够极大的提升效率。条件断点是指当程序运行知足你指定的条件时,程序才会断下来,使用方法也很是简单,在你的断点处右键会弹出下面的小窗口,写上你的条件便可
该断点并不能算真正意义上的断点,由于日志断点并无是程序断下来,而是在你须要的地方输出你须要的信息。这种断点像log同样快速的输出你所须要的信息,从而判断问题出错的地方。使用方式相似条件断点,在断点处右键弹出如图所示的窗口,在红色标注框一的“suspend”处取消选中,红色框二处输入你感性兴趣的日志信息。图二为运行结果
若是咱们只想知道方法调用时的参数或者返回的结果,而对方法的运行的过程并不感兴趣的时候,方法断点是很是明智的选择。咱们只须要在感兴趣的方法的第一行答上断点便可。如图所示你会发现该断点图标的不一样之处
当你须要监测某个变量的变化时,这种断点方式能够有效的帮助你。断点的方式和方法断点类似,你只须要在该变量命名的地方打上断点,断点的图标也会稍有不一样。右键该断点能够设置一些属性,好比你是要在变量访问的时候停下来仍是在变量改变的时候停下来。
若是你对程序发生的异常感兴趣,Exception Breakpoint是很是不错的选择,当程序运行发生异常时,直接让程序停下来,保留事故发生的现场,你能够即便有效的发现问题的缘由以及异常发生的位置。使用方式:进入RUN—>View BreakPoints,弹出以下窗口:
点击左上角的加号,弹出以下窗口,选择第三个
在下面的窗口输入你感兴趣的异常信息便可。当程序发生该异常时就会自动断下来。
在调试过程当中,你发现某个变量的值跟你预期的结果不同,或者你怀疑某变量这出现某些特殊值时程序会发生崩溃,而当前测试环境又极难模拟这种状况,那么你能够在调试模式时,如图所示,在变量区右键你想监控的变量,设置你想要出现的值,而后继续运行。
android studio提供的调试手段远不止这些,须要在开发过程当中逐步去发现探索。
参考: