Android进阶之路Android技术知识Android知识

Android Studio DeBug

2017-05-20  本文已影响204人  Chauncey_Chen

Android Studio DeBug

额,之前都是用log日志输出,自己想要的东西.搞得代码到处都是Log.i()...

突然有一天,,,自己get到了,Android 断点....调试....,

世界就变得不一样了....

这篇文章,算是自己阅读和实战后的笔记吧~

1.adb连接后,打开debug

这里写图片描述

2.debug断点的设置

这里写图片描述

3.debug的面板分析

在你,点击第一步的ok之后, 会弹出debug的窗口.其中的界面如下.
区域分别为

这里写图片描述

4.debug,演示操作

这里写图片描述

5.2 变量变化 variables

这里写图片描述

5.3 交互式解释器Evaluate expression

你可以执行任何你想要执行的表达式进行求值操作


这里写图片描述

5.4 Force Run to Cursor

可以忽视已经存在的断点,跳转到光标所在处.
如现在第10行,此时我想调试18行而又不想一步一步调试,能不能一次到位呢?我们只需要将光标定位到相应的位置,然后执行Force Run to Cursor即可:

5.5 Get thread dump这里写图片描述

6.断点的分类

断点是调试器的功能之一,可以让程序暂停在需要的地方,帮助我们进行分析程序的运行过程

方法断点
单行断点
条件断点
日志断点
异常断点
属性断点

6.1 方法断点

最常用,略过

6.2单行断点

最常用,略过

6.3条件断点

条件断点,就是某种特定条件下,才会发生的断点.比如,现在我们有个list中,其中包含了q,1q,2q,3q四个元素,我们希望在遍历到2q时暂停程序运行,那么需要进行如下操作:
在需要的地方添加断点,如下:


断点处左键单击,在Condition处填写过滤条件.此处我们只关心2q,因此填写s.equals("2q")

6.4日志断点

该类型的断点不会使程序停下来,而是在输出我们要它输出的日志信息,然后继续执行。具体操作如下:
同样在断点处左键单击,在弹出的对话框中取消选中Suspend。



在弹出的控制面板中,选中Log evaluated expression,然后再填写想要输出的日志信息,如下:

当调试过程遇到该断点将会输出结果,如下:


6.5#属性断点 Filed WatchPoint

Filed WatchPoint是本质上是一种特殊的断点,也称为属性断点:当我们某个字段值被修改的时候,程序暂停在修改处。通常在调试多线程时尤为可用,能帮我们及时的定位并发错误的问题。


参考:

江湖人称小白哥的 Android Studio代码调试大全,写的确实很好,大家可以去 看下,一片足以让你掌握Android调试的文章

上一篇下一篇

猜你喜欢

热点阅读