Android Studio 是个发工具,其自身带调式环境是很强大的,我们要摆脱只会使用Log打印日志的低效的方法,掌握高级调试技巧对每个Android开发者都是很必要的,废话少说,直入正题

调试方式:通过下面方法进入调试

运行调试:点击齿轮运行按钮,IDE出现调试窗口;

附加进程:   如果App正在运行,点击“虫子”图标选择要调试的App进程即可;

成功操作后出现下面的DEBUG悬浮栏,下一步就可以开始设置断点

开始调试:

在代码行鼠标点击左键就可以了,程序就能自动运行到断点;

步进方式:是调试的核心和精华,掌握好很容易能获得想要的数据,打开Run菜单我们看到丰富的步进方式(快捷方式根据方案和配置可以自由设定)

Step Into:单步前进,如果断点包含子方法则进入方法(不会进入官方类库的方法);

Force Step Into:在 Step Into 的基础上能进入任何方法;

Smart Step Into:语句包含两个或者以上方法链式调用,可以选择进入那个方法,包括匿名内部类,尼姆达表达式也可以;

Step Out :单步前进,如果已在子方法里面则跳出;

Step Over :单步前进,不进入子方法;

Drop Frame:  点击该按钮后,你将返回到当前方法的调用处重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法;

Resume Program: 继续执行;

Force Run to Cursor:  顾名思义,就是直接跳到光标所在位置,这个非常方便调试所需要的语句;

说完步进,现在说说断点;

条件断点:在断点的位置设置条件,那只有符合条件的情况下才停下来,例如调试一个for循环的时候有几百次循环但是想看到某个次数时候则相当方便;

方法断点:在方法开头设置,断点标识红色四黑点的标识;

日志断点:鼠标右键断点,然后去掉Suspend,在log evaluated expression输入要打印的表达式:”setValue=”+getValue(),然后运行程序;

看控制台我们能发现断点日志:

选log message to console后发现日志信息也被打印出来

异常断点:异常的时候触发的断点:1、点击断点管理,然后新增一个异常断点;

设置一个能产生异常的方法并执行它,就会发现异常会在这里停掉;

临时断点:断点停下之后,就会被移除,调试过程中只会断掉一次,按 ATL+鼠标左键 就可以出现

失效断点:暂时让断点失效,无需把它删除;方法:ALT+鼠标左键 在断点上点击

观察调试:

当断点命中后,我们当然就是要观察并获取结果

  • 观察变量:在断点停留时候,在变量上 ALT+鼠标左键 点击就可以看到断点的所有信息;

改变变量值:例如执行方法原来的值:

在Variables窗口右键鼠标修改就可以改变值了:

添加到观察窗口:如果多个标量或者多个表达式在多个不同的地方,要上下观察是很麻烦的,我们可以把它Add to Watchs, 然后在观察窗口就可以一次看到多个变量值;

计算表达式:计算这个变量的值,result运行到中间查看变量值就出现这样的情况

计算方法调用结果: 输入方法getValue(), 点击执行,就可以得到这个方法的结果;

代码片段模式:这个可以运行一段代码得到结果而非一个表达式:

例如我们修改这个变量的值的片段:

标记object;选择变量右键出现Mark Object菜单,点击后输入标签就可以了:

至此大致内容完毕,关于调试的技巧,总的来说一个是断点设定,一个是步进方法的掌握,希望大家多实践,有任何问题欢迎写信给我或者留言。最后,基础很简单,但很重要,不要看不起,走好每一步才能走得更远。

欢迎访问我的主页:tinyx.cc 或关注我的公众号:

Android Studio 实用调试技巧的更多相关文章

  1. (转载) Android Studio你不知道的调试技巧

    Android Studio你不知道的调试技巧 标签: android studio 2015-12-29 16:05 2514人阅读 评论(0) 收藏 举报  分类: android(74)    ...

  2. Android Studio & eclipse 调试技巧

    如上图设置多个断点,开启调试.想跨断点移动到下一个断点,点击如下图1箭头,程序将运行一个断点到下一个断点之间需要执行的代码.如果后面代码没有断点,再次点击该按钮将会执行完程序.点击箭头2指向的按钮,可 ...

  3. Android Studio你不知道的调试技巧

    写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug:那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点 ...

  4. 转: Android Studio你不知道的调试技巧

    http://tianweishu.com/2015/12/21/android-studio-debug-tips-you-may-not-know/

  5. Android Studio 使用小技巧和快捷键

    Android Studio 使用小技巧和快捷键 Alt+回车 导入包,自己主动修正 Ctrl+N   查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L  格式化代码 Ctrl+Alt ...

  6. 最强 Android Studio 使用小技巧和快捷键

    写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...

  7. Android Studio实用快捷键汇总

    以下是平时在Windwos系统上用Android Studio进行开发时常用到的一些快捷键,虽然不多,但是感觉都还蛮实用的,因此记录下来,如果什么时候不小心忘记了可以拿来翻一翻,That would ...

  8. 最强 Android Studio 使用小技巧和快捷键总结

    最强 Android Studio 使用小技巧和快捷键总结   写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android ...

  9. Android Studio 动态调试 apk 反编译出的 smali 代码

    在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Andro ...

随机推荐

  1. 移动端Touch事件基础

    1.三个常用的移动端事件 ontouchstart 手指按下时触发 ontouchmove 手指移动时触发 ontouchend 手动抬起时触发 注意:这些事件当作事件属性使用时,不兼容谷歌浏览器. ...

  2. 为实体类增加toJSON方法

    后期子类继承该基础类即可. package com.lichmama.test; import java.io.Serializable; import java.lang.reflect.Field ...

  3. Java+Tomcat + Idea + Jrebel 实现热部署

    1. 首先安装idea的jrebel插件, jrebel是收费的,所以要在网上下载验证码. 2. 安装好以后再setting 菜单能看到一个jrebel的菜单. 3.  4.其中需要选中frame失去 ...

  4. 如何删除svn标签

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,对于多人共同开发同一个项目非常有用,但有一点比较让人头疼,那就是项目移植的时候,原来的文件夹带有很多可恶的svn标签,使其不能add ...

  5. java webservice简单的例子

    开发环境:eclipse .jdk 创建服务端 demo-webservice 创建类 HelloService.java package com.hundsun.ws.service; import ...

  6. iOS开发实战-时光记账Demo 网络版

    之前写了一个本地数据库版本 戳这里 现在这个就是增加了后台 登录注册页面以及web的上传记录展示页面 含有少量php有兴趣可以看下 另外demo中包括数据库操作.json.网络请求等都没有用到第三方库 ...

  7. Android高效内存之让你的图片省内存

    Android高效内存之让你的图片省内存 在做内存优化的时候,我们发现除了解决内存泄露问题,剩下的就只有想办法减少真实的内存占用.而在App中,大部分内存可能被我们图片占用了,所以减少图片的内存占用可 ...

  8. Unity Shader入门教程(四)反射光斑的实现

    本节内容介绍PhongModel(也就是上文说的反射光的计算模型),采用的计算方法是BlinPhong(也即是用视线方向V+光源方向L的和,与N做点积,随后幂化得到高光反射系数)下图采用了csdn博文 ...

  9. Windows Server 2008 配置IIS+PHP

    问题: 最近要上线一个PHP写成的MVC项目,发现Windows Server 2008安装的还是PHP5.2,很多语法不支持. 尝试的一些解决方案: 1.将PHP升级为5.6,但是需要做好IIS和P ...

  10. perl的安装和版本切换工具-perlbrew

    setenv PERL /opt/perl5 --设置新perl的起始安装路径 curl -kL http://install.perlbrew.pl | bash source /opt/perl5 ...