AndroidStudio断点调试和高级调试

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

AS调试面板介绍

点击顶部工具栏的
2267876-27253d0989b13484.png

进入断点调试,例如下面红色方框区:

2267876-cea49ca9c2dfa4dc.png

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

2267876-e088a8e0384d7209.png

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

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

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

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

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

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

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

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

2267876-3ae24ab1cb85eb25.png

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

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

条件断点调试

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

2267876-f7c43a0986933c81.png

日志断点

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

2267876-89a6d27bdb3902d1.png

这个是设置条件

2267876-c82dd86c6742cd47.png

输出的信息

方法断点

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

2267876-8e3e29f8390f88f2.png

异常断点

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

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

2267876-98d5351f00a515ce.png

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

2267876-4a3d78342f5ac6a8.png

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

2267876-4233c410d98e067e.png

设置变量的值

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

2267876-47beb6a9b64941fc.png

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值