第一点:debug调试之for循环下的调试
当调试for循环的时候,只需要调试到 i 等于某个具体的值的时候,如果一步一步的来调试的话,是相当费时间的.这时候就需要用到debug调试中的for循环调试
示例调试代码如下:
for (int i = 0; i < 10 ; i++) {
Log.e("Tag","this is tag"+i);
}
第一步调试:在循环内实体内打断点,并单击右键,在弹出的窗口中输入Condiction条件,点击Done按钮.
调试第二步:开始运行程序,当程序运行到for循环这里的时候,是直接从你最开始设置的I的值开始的,如下图
第二点:debug调试之日志调试
当程序已经运行起来后,才想起某处地方需要加入打印的log信息,这样再重复去加log日志和再次运行实际上是很浪费时间的.这个时候当debug程序运行起来后,只需要在需要打log之前的地方设置断点就可以了.当程序运行在此时,单击右键,设置需要打印的信息即可;
如图如下;
第一步:首先在弹出的窗口中,点击More(^F8)按键后,弹出如下串口,让窗口中操作
第二步:再次单击断点图标(右键单击),如图
以上:即可
第三点:debug调试之变量赋值(变量动态赋值)
比如,我们的代码里有一个变量,这个变量的值会影响到程序的执行结果。如果我们想观察这个变量在不同的赋值下程序的执行结果怎么办呢?现在不需要一遍遍的赋值,然后运行程序输出结果.只需要利用Debug模式下的变量赋值(Set Value),只需要运行一次,就能达到我们的观察效果。在使用该变量的代码处打个断点,然后在Variables窗口找到对应的变量,修改变量值后,然后按回车键即可(注意:在输出结果的地方最好也打个断点,直接跳转到下一个断点处输出结果)。
如下图所示操作
以上:就是前后二个步骤!
第四点:debug模式下的变量观察
这个太简单了!有2种方法:
第一:在Variables变量区和Watches观察区可以查看Debug模式下,程序执行到断点处的变量值或者对象的各属性值
第二:在debug模式下,只要将光标定位至断点代码行所用到的变量,IDE会自动弹出一个小窗口,点击这个小窗口里的变量即可弹出变量属性值窗口(简单方便的可以随时切换各个变量值的情况,程序走过的地方也不用怕,仍然可以查看)
如下图:
图中所示:断点已经走到log处,但是查看的是st的值.
第五点:debug模式下之对象求值
在断点处,如果有变量对象,系统提供了表达式求值功能,针对Variables视图中的变量对象,我们可以输入任何计算语句,实时查看表达式计算结果。具体操作为,右键Variables视图中的变量对象,选择Evaluate Expression,弹出表达式窗口,输入任何你想要的计算语句,点击Evaluate计算按钮,即可显示Result结果:
如下图所示
或者在Watches区域,点击左下角的+号,然后就可以像写代码一样求任意赋值之后对象的值了。如图:
第六点:debug调试之变量断点
有时候,我们想知道自定义的变量的何时何地发生了改变,就可以使用变量断点。变量断点的图标样式也与众不同,在变量定义行打断点,开启Debug模式,在程序执行的过程中,如果该变量的值发生改变,程序会自动停下来,并定位在改变变量值的地方,供开发者调试:
如下图所示:
第七点:debug调试之异常断点
程序在执行的过程中可能会出现各种各样的未知性异常,如果能在发生异常的时候第一时间让程序停下来,并定位到异常出现的地方,供开发者调试,那当然是极好的。而万能的Android Studio就提供了这样的功能。
打开断点管理器,这里有两种方式打开:点击工具栏菜单Run,选择View Breakpoints;在Debug窗口直接点击View Breakpoints图标。点击左上角加号按钮,可以添加各种断点,包括前文提到的Method Breakpoints和Field Watchpoints断点,这里我们选择Exception Breakpoints异常断点,在弹出的Enter Exception Class窗口中输入需要监控的异常类别即可:
以上:就是debug调试技巧
7190

被折叠的 条评论
为什么被折叠?



