关闭

AndroidStudio-断点调试-让你的调试更有效率

标签: AS断点调试AndroidStudio条件断点
8114人阅读 评论(7) 收藏 举报
分类:

前言:

上篇博客 AndroidStudio-断点调试-也许你该知道断点调试是有多么的美好 ,记录了AndroidStudio上断点调试的基本流程和debug面板按钮介绍.这一篇就给大家分享一点调试的小技巧,让我们的代码调试变得更有效率.

你可以选择随时进入调试模式

一般我们都是点击绿色小昆虫进入调试模式进行调试, 其实还可以有另外一种方法.看下面的面板截图,有没有发现有两个小昆虫图标.

这里写图片描述

图标 EnglishName 名称
这里写图片描述 debugger 调试模式开启运行
这里写图片描述 Attach debugger to Android Progress 为已经运行的Android进程添加调试模式

大家都知道debugger运行程序是比Run 速度要慢点的.如果你想解决这个问题,我推荐给你Attach debugger to Android Progress.
这种方法先Run运行起来程序,然后走到要调试的地方,在Attach debugger to Android Progress,选择要调试的进程.这样会快很多.

使用方法:

在Android 进程已经运行的状态下,点击这里写图片描述 ,选择要调试的包名,也就是我们的应用包名,就可以了.

这里写图片描述

使用场景:

1.调试的页面层级较深
2.非debug模式下,突然想进入调试模式.这种方法可以为你省去了重新运行程序的时间哦

善于使用不同分类的断点

我们上篇博客使用的断点只用到其中一个最常用也最广为人知的一个分类-行断点(Java Line Breakpoint).但是我们需要知道的是,AndroidStudio提供给我们的并不仅仅是这几种断点.善于在不同的条件下使用不同分类的断点是件非常重要的事情.

打开Run->View Breakpoints->点击”+”号可以看到如下的界面,

这里写图片描述

解释一下:

图标 EnglishName 名称
这里写图片描述 Java Line Breakpoint 行断点
图标 Java Method Breakpoint 方法断点
这里写图片描述 Java Field Breakpoint 字段断点
这里写图片描述 Java Exception Breakpoint 异常断点(官方的异常)
这里写图片描述 Exception Breakpoint 异常断点 (支持自己定义的异常)

字段断点:

添加方法:
在全局变量定义处左侧鼠标左键点击添加

这里写图片描述

使用场景:

定义的全局变量被多处使用,当不确定被何处修改的时候,对要观察的变量添加Java Field Exception.这样只要该变量的值被修改的时候,都会自动断点到发生修改的代码行.

方法断点:

添加方法:

在定义方法处左侧鼠标左键点击添加

这里写图片描述

使用场景:

需要具体观察一个方法的时候,就是Java Method Breakpoint大展身手的时候了,当代码执行到该方法断点处的时候,如果想进入方法,直接step over(F6).想直接跳到方法结束看返回值的时候,直接Resume Program(F8),跳到下一个断点,会自动断到方法结尾处.仅仅一个方法断点而已,就能做到这么多,是不是超级方便?

异常断点:

添加方法:

在ViewBreakpoints->点击”+”号->Java Exception Breakpoints

这里写图片描述

使用场景:

出现异常但是不知道在代码的哪个地方抛出的时候,就是用它的时候.添加某异常的断点之后,只要出现该异常,会自动定位到出错代码处.

为你的断点添加条件

当为你的断点添加上条件之后,就只有满足这个条件的之后,这个断点才会生效.

例如,我在下面的代码中,直接想查看总循环次数为for循环的第36次循环,我就添加”i == 36”的条件.于是当断点生效时,表现为:

这里写图片描述

简单粗暴,直接干脆有木有?接下来是使用方法和注意事项.

添加方法:
在断点上鼠标右键,就会出现添加条件的对话框.

这里写图片描述

使用场景:

使用的场景很广泛,一般用在很多数据中,专门观测某一类数据的时候,条件断点表现的尤为出色.

注意事项:

1.任何种类的断点都可以添加条件,不要被我的截图误导,以为只有行断点可以添加断点.
2.添加条件(Condition)的时候,要保证条件的返回值是boolean值,例如”i =36”一定要写为”i==36”;
3.添加条件的时候,要保证条件中的变量到断点处已经被定义,否则条件表达式是不成立的.(PS:这里告诉给小伙伴们一个避免这个问题的小方法,就是当你发现条件中的变量颜色变成显眼的红色时,一定要检查一下,变红色肯定是因为这个变量不存在.)

你知道吗?你可以手动设置变量的值.

在调试过程中,你完全可以直接给你定义的变量设置一些自定义的值,各种刁钻都可以,去测试你的方法写的对不对,代码是否写的稳定.
这样就再也不用一次次去构建不同环境去测试运行了.

示例:

这是调试的一个方法,已经进入方法了,但是我们想改方法参数b的值.

这里写图片描述

在debug中输入自定义的值,然后Enter键按下去

这里写图片描述

神奇的事情发生了,变量 b的值已经被改变了.

这里写图片描述

使用方法:

debug面板–>Variables窗口–>选中要观察的变量–>鼠标右键—>Set Value

还可以更棒,Evaluate Expression 直接求值表达式.

示例:

输入要求值的表达式,然后点击Evaluate按钮,就可以输入表达式的值.

这里写图片描述

使用方法:
1.代码区–>鼠标右键–>Evaluate Expression
2.debug面板–>Variables窗口–>鼠标右键—>Evaluate Expression
2.debug面板–>Watches窗口–>鼠标右键—>Evaluate Expression

注意事项:

要保证表达式中的变量已经定义,否则表达式是不成立的.(PS:这个也可以看是否出现红色颜色区分表达式是否正确.)

5
1
查看评论

AndroidStudio debug调试!

一直用的Eclipse里面的Debug,那么来到studio里面我们如何应用这一强大的功能进行功能调试呢。下面我带领大家一起来简单的看一下。 开始写一个简单的调试程序,我们先来一个for循环 for (int i = 0; i < 10; i++) { //获取当前i的值 ...
  • gjy211
  • gjy211
  • 2016-09-22 10:48
  • 384

AndroidStudio的Debug调试方法学习

在Android开发中,我们要对程序进行调试,这样更加有助于我们进行代码的阅读和BUG的解决,但是之前我并不怎么清楚Android Studio 的有两种Debug 的调试方式,再后来的工作中才发现。今天同大家分享一下。第一种调试方式就是点击那个小昆虫进行调试,这种调试的方式是要对程序进行一次编译 ...
  • u010221508
  • u010221508
  • 2016-10-25 09:12
  • 1839

Android Studio代码调试大全

Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手。作为开发者,调试并发现bug,进而解决,可是我们的看家本领。正所谓,工欲善其事必先利其器,和其他开发工具一样,如Eclipse、Idea,Android Studio也为我们提供了强大的调试技巧,今天我们就来看...
  • dd864140130
  • dd864140130
  • 2016-06-02 02:21
  • 35880

Android StudioDebug调试详细大全

Android Debug调试
  • u013472738
  • u013472738
  • 2017-06-05 01:25
  • 1412

AndroidStudio Debug调试按钮

1. step over:一步步往下走 2. step into:看到方法往里走 比如我们的for循环当中调用了一个stepNext(int i)方法,当我们走到这里想看看这个方法里面的运行过程的时候我们可以这样,当走到这个方法的时候我们可以按下F7,或者如下图的图标。 ...
  • qq_33834328
  • qq_33834328
  • 2016-07-19 18:04
  • 3283

Android Studio 无法进入debug调试模式

在开发的过程中有时候会发现studio无法进入调试模式。就我所知到的原因和解决方法如下:1 . 是否开启了调试:在build.gradle配置文件的buildTypes中将debuggable设置为true。 ... buildTypes { sit { ...
  • u012006926
  • u012006926
  • 2017-01-18 15:46
  • 8903

Android Studio - debug调试

背景 问题解决 debug基本用法 背景 记得在刚开始做android的时候调试一直是通过打印日志,在测试的地方去写log输出,调试起来相当麻烦,后来又接触了debug,也只限于单步执行、断点跳跃等一些相当基础的调试,以为掌握这些就足够了。但是最近的一件事彻底让我改变了自己的想法。 ...
  • u012764358
  • u012764358
  • 2017-09-19 17:06
  • 249

Android studio断点调试(全在这里)

转载地址:http://blog.csdn.net/huangxiaominglipeng/article/details/53100811 有人说Android 的调试是最坑的,那我只能说是你不会用而已,我可以说android Studio的调试是我见过最棒的。 下...
  • lengyue1084
  • lengyue1084
  • 2017-08-02 14:26
  • 492

Android Studio debug调试

本人使用的Android Studio版本为1.2.2,版本不同可能小区别,但是大致的功能没有改变。 快捷键: Alt+F8  Evaluate Expression---debug时选中查看值  F8 Step Over---相当于eclip...
  • kun5069073
  • kun5069073
  • 2015-08-03 16:03
  • 537

强大的AndroidStudio调试工具——Stetho

查看sqlite里面的数据都要通过这个Android Device Monitor找到/data/data/com.xxx.xxx/databases里面的db文件,然后导出到PC上,最后用PC上的数据库工具打开来查看。 - 或者使用第三方的工具去查看(在手机root的前提下才能使用) 接下...
  • androidstarjack
  • androidstarjack
  • 2017-03-23 21:44
  • 1348
    个人资料
    • 访问:227422次
    • 积分:3336
    • 等级:
    • 排名:第11999名
    • 原创:94篇
    • 转载:4篇
    • 译文:0篇
    • 评论:107条
    如果你想了解更多的我
    博客专栏
    最新评论