Android Studio DeBug

Android Studio DeBug

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

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

世界就变得不一样了….

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

1.adb连接后,打开debug

《Android Studio DeBug》 这里写图片描述

2.debug断点的设置

《Android Studio DeBug》 这里写图片描述

3.debug的面板分析

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

  • 单步调试区
  • 断点管理区
  • 求值表达式
  • 线程帧栈区
  • 对象变量区
  • 变量观察区

《Android Studio DeBug》 这里写图片描述

4.debug,演示操作

《Android Studio DeBug》 这里写图片描述

5.debug操作姿势–单步调试区

该区提供了调试的主要操作,和你所熟知的一样的,主要有:Step over、step into、force step into、step out、drop frame。

5.1 全局数值监视 watch

《Android Studio DeBug》 这里写图片描述

5.2 变量变化 variables

《Android Studio DeBug》 这里写图片描述

5.3 交互式解释器Evaluate expression 《Android Studio DeBug》

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

《Android Studio DeBug》 这里写图片描述

5.4 Force Run to Cursor 《Android Studio DeBug》

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

5.5 Get thread dump这里写图片描述 《Android Studio DeBug》

6.断点的分类

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

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

6.1 方法断点

最常用,略过

6.2单行断点

最常用,略过

6.3条件断点

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

《Android Studio DeBug》

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

《Android Studio DeBug》

6.4日志断点

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

《Android Studio DeBug》

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

《Android Studio DeBug》

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

《Android Studio DeBug》

6.5#属性断点 Filed WatchPoint 《Android Studio DeBug》

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

参考:

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

    原文作者:Chauncey_Chen
    原文地址: https://www.jianshu.com/p/d243ce0019f2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞