关闭

AndroidStudio断点调试和高级调试

标签: androidbug调试android studio程序员
460人阅读 评论(0) 收藏 举报
分类:

  我们程序员在写程序的时候,Bug是不可避免的,在这种情况下,除了日志外最常用的就是Debug了。除了写程序,当我们接手一个旧的程序,熟悉代码最常用的手段也是调试,以前没有总结过Android Studio的调试,现在来总结一下Android Studio的调试技巧!

AS调试面板介绍

点击顶部工具栏的进入断点调试,例如下面红色方框区:

进入断点调试之后,就会唤出调试面板,我们介绍一下调试面板,调试面板如下图所示:

调试功能键区有6个图标,分别代表不同的功能,下面分别介绍,从左边算起,以红色方框分割:

  • 第一个是step over:点击该图标程序执行下一行,如果是调用方法,这个方法会被直接执行不会进入该方法内部。

  • 第二个是step into:点击该图标,如果当前代码是自定义的方法,会进入方法内部逐步执行,如果是官方库的方法,不会进入方法内部,如果不是将执行下一行

  • 第三个是force step into:点击该图标会进入方法内部,不论是自定义方法还是官方库方法。会使你脱离当前断点,从你选择的方法开始调试。

  • 第四个是step out:点击该图标会快速运行完该方法,跳出当前执行的方法内部,执行到该方法调用的下一句代码。

  • 第五个是drop frame:点击该图标会回到调用该方法的开始处,恢复原始值,可以重新运行该方法。

  • 第六个是run to cursor:点击该图标会使程序跳转到下一个断点处,如果设置多个断点逐句运行会比较麻烦,可以通过这个功能快速跳转到下一个断点。

调试功能键介绍完到求值表达式功能键区,求值表达式功能的作用是:当程序运行到某一个断点的时候,恰好你对该处的某对象的某些属性很感兴趣,那么可以通过该按钮跳出。点击该图标会跳出一个Evaluate expression窗口,我们可以在这个窗口中输入感兴趣的表达式,然后点击evaluate按钮,你就可以得到想要知道的结果了。如下图所示:

我们调试的是add方法,直接调用这个方法,可以计算a+b的值,我们在输入框里面输入add(10,20),最终输出结果是30.

这里介绍的只是断点调试的,AndroidStudio还提供其他的断点调试方法,下面我们介绍一下其他断点调试方法:

条件断点调试

当我们设置的断点在一个循环里面,我们只对循环中某个值得时候有兴趣,逐步调试会很麻烦,这个时候条件断点调试会极大的提高我们的效率。我们可以设置一个条件,只有当循环满足我们的条件的时候,循环才会停下来,例如:

日志断点

日志断点严格来说并不是断点调试,它不会在你打断点的地方停下来,它只是让你在需要的地方输出日志而已。例如:

这个是设置条件

输出的信息

方法断点

当我们只对方法执行的结果或者返回值感兴趣的时候,方法断点是一个不错的选择。只需要在方法的第一行打上断点即可,断点的图标也会不一样。

异常断点

如果你对程序发生的异常感兴趣,Exception Breakpoint是非常不错的选择,当程序运行发生异常时,直接让程序停下来,保留事故发生的现场,你可以即使有效的发现问题的原因以及异常发生的位置。

使用方法:RUN–>View BreakPoints或者直接使用快捷键Ctrl+shift+F8,弹出如下窗口

点击左上角的加号,选择第三个,如下图红色框所示:

在弹出的窗口输入你感兴趣的异常,当程序发生异常的时候会停下来

设置变量的值

在调试过程中,你发现某个变量的值跟你预期的结果不一样,或者你怀疑某变量这出现某些特殊值时程序会发生崩溃,而当前测试环境又极难模拟这种情况,那么你可以在调试模式时,如图所示,在变量区右键你想监控的变量,设置你想要出现的值,然后继续运行。

Android程序开发还有其他许多的调试方法,需要我们在实际开发中不断的总结学习!

0
0
查看评论

在Android Studio中进行单元测试和UI测试

听说不会单元测试的Android程序员不是一个合格的程序员,,好吧,虽然学习Android好久,最近在使用AndroidStudio,但不知道AndroidStudio自带单元测试功能,今天了解了一下AndroidStudio下如何使用单元测试。 转自:http://www.cnblogs.co...
  • u010980446
  • u010980446
  • 2016-07-12 17:05
  • 2752

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

有人说Android 的调试是最坑的,那我只能说是你不会用而已,我可以说Android Studio的调试是我见过最棒的。 下面会将debug模式和Attach模式的断点调试 好了开始写一个简单的调试程序,我们先来一个for循环 ? 1 2 3 4 5 6...
  • huangxiaominglipeng
  • huangxiaominglipeng
  • 2016-11-09 16:04
  • 17495

AndroidStudio调试APP

AndroidStudio调试APP 电脑用数据线连上手机 开启手机的开发者模式 注:通常连续狂点手机的版本号即可显示出开发者选项,然后进入菜单,勾选开发者选项、USB调试。 给程序加断点 单击调试按钮,弹出设备选择面板,选择您的手机 软件需要编译一段时间,耐心等待...
  • u010596115
  • u010596115
  • 2016-10-23 09:48
  • 913

AndroidStudio:断点调试和高级调试

好了开始写一个简单的调试程序,我们先来一个for循环 ? 1 2 3 4 5 6 7 8 <code class="language-java hljs ">fo...
  • duxingzhe2012729
  • duxingzhe2012729
  • 2016-06-15 14:02
  • 1036

Android Studio五分钟带你从菜鸟到高级调试

前段时间刚刚入职,还算比较幸运。进来就是让我做Android的。好多同学都去做其他没有接触过的东西了。刚开始一周肯定就是熟悉代码。但是我刚拿到代码我就呆了。做的是一个金融业务的APP。由于好多数据要加密所以,公司自己采用TCP层链接,用SSL加密协议。自己封装的网络框架和网络请求 。其中令我最头疼的...
  • u013132758
  • u013132758
  • 2016-07-15 15:13
  • 12728

Android Studio断点调试

Android Studio断点调试Android Studio包含一个debugger程序,可以帮助你在模拟器和真机上调试你的android应用.通过Android Studio的debugger,你可以: 选择你想调试的设备. 在代码上设置断点. 在运行时去检查变量和表达式的值. 可能平时大家调...
  • zinss26914
  • zinss26914
  • 2016-07-01 17:35
  • 9945

使用新版Android Studio检测内存泄露和性能

内存泄露,是Android开发者最头疼的事。可能一处小小的内存泄露,都可能是毁于千里之堤的蚁穴。怎么才能检测内存泄露呢?网上教程非常多,不过很多都是使用Eclipse检测的, 其实1.3版本以后的Android Studio 检测内存非常方便, 如果结合上MAT工具,LeakCanary插件,一切就...
  • yangxi_001
  • yangxi_001
  • 2016-07-08 14:57
  • 14990

断点调试和高级调试

有人说Android 的调试是最坑的,那我只能说是你不会用而已,我可以说Android Studio的调试是我见过最棒的。 好了开始写一个简单的调试程序,我们先来一个for循环 for (int i = 0; i < 10; i++) { //获取当前i的值 int selector...
  • zhangli_
  • zhangli_
  • 2016-02-27 16:38
  • 297

使用ANDROID STUDIO如何开展断点调试

熟悉android开发的童鞋应该对Android studio都不陌生,它是android开发中最常用的开发环境之一,在程序开发中,我们常常需要进行断点调试,那在android studio中,如何开展断点调试呢?那下面我们就一起来看看具体的方法和步骤吧。 在开展断点调试前,你...
  • piooix
  • piooix
  • 2016-01-22 16:48
  • 1235

Android Studio 调试

编写代码很多时候都会“差强人意”,很难一次获得想要的结果,出现错误的时候需要查找错误的原因,这种查找的过程可以称为“程序调试”。一般来讲程序员百分之十的时间写代码,百分之九十的时间都在调试,因此要认识到调试的重要性。调试的方式有多种,这里介绍最常用的两种:Logcat调试方式和断点调试方式。2.3....
  • yayun0516
  • yayun0516
  • 2017-09-06 21:57
  • 627
    个人资料
    • 访问:86111次
    • 积分:1462
    • 等级:
    • 排名:千里之外
    • 原创:65篇
    • 转载:0篇
    • 译文:0篇
    • 评论:15条
    最新评论