Android Studio DeBug

作者: Chauncey_Chen | 来源:发表于2017-05-20 11:43 被阅读204次

    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调试的文章

    相关文章

      网友评论

        本文标题:Android Studio DeBug

        本文链接:https://www.haomeiwen.com/subject/hsxpxxtx.html