Android Studio dubug 工具
转载 来之:
tinyx的博客地址:
http://blog.tinyx.cc/
Android Studio 是个优秀的开发工具,其自身带调式环境是很强大的,我们要摆脱只会使用Log打印日志的低效的方法,掌握高级调试技巧对每个Android开发者都是很必要的。
1
调试基础
运行调试:点击齿轮运行按钮,IDE出现调试窗口。
附加进程: 首先App正在运行,点击“手机虫子”图标选择要调试的App进程即可
上面2种方法成功后出现下面的对话框,下一步开始设置断点
断点调试:
一般断点:
步进方式:打开Run菜单我们看到丰富的步进方式:
Step Into:单步前进,如果断点包含子方法则进入方法(不会进入官方类库的方法);
Force Step Into:在Step Into 的基础上能进入任何方法;
Smart Step Into:语句包含两个或者以上方法链式调用,可以选择进入那个方法,包括匿名内部类,尼姆达表达式也可以;
Step Out :单步前进,如果已在子方法里面则跳出;
Step Over :单步前进,不进入子方法;
Drop Frame: 点击该按钮后,你将返回到当前方法的调用处重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法;
Resume Program: 继续执行;
Force Run to Cursor: 顾名思义,就是直接跳到光标所在位置,这个非常方便调试所需要的语句;
条件断点:在断点的位置设置条件,那只有符合条件的情况下才停下来,例如调试一个for循环的时候有几百次循环但是想看到某个次数时候则相当方便;
方法断点:在方法开头设置,断点标识红色四黑点的标识;
日志断点:鼠标右键断点,然后去掉Suspend,在log evaluated expression输入要打印的表达式:”setValue=”+getValue(),然后运行程序;
查看控制台我们能发现断点日志:
勾选log message to console后发现日志信息也被打印出来
异常断点:异常的时候触发的断点:1、点击断点管理,然后新增一个异常断
点
设置一个能产生异常的方法并执行它,就会发现异常会在这里停掉;
临时断点:断点停下之后,就会被移除,调试过程中只会断掉一次,按 ATL+鼠标左键 就可以出现
失效断点:暂时让断点失效,无需把它删除;方法:ALT+鼠标左键 在断点上点击
2
观察调试
观察变量:在断点停留时候,在变量上 ALT+鼠标左键 点击就可以看到断点的所有信息;
改变变量值:例如执行方法原来的值:
在Variables窗口右键鼠标修改就可以改变值了:
添加到观察窗口:如果多个标量或者多个表达式在多个不同的地方,要上下观察是很麻烦的,我们可以把它Add to Watchs, 然后在观察窗口就可以一次看到多个变量值;
计算表达式:计算这个变量的值,result运行到中间查看变量值就出现这样的情况
计算方法调用结果: 输入方法getValue(), 点击执行,就可以得到这个方法的结果;
代码片段模式:这个可以运行一段代码得到结果而非一个表达式;
例如我们修改这个变量的值的片段:
标记object;选择变量右键出现Mark Object菜单,点击后输入标签就可以了;