Android 项目必备(三十九)-->弄懂 Android Debug 调试

在这里插入图片描述

一、启动 Debug 模式

  1. 在需要打断点的代码行数上稍微偏右,点击鼠标左键,如图:
    在这里插入图片描述

  2. 点击小爬虫按钮,启动 debug 模式。
    在这里插入图片描述

  3. 运行成功后如下。可以看到红色框内,从下往上的顺序运行方法,一直阻塞在我们打断点的方法里;绿色款内,则是展示目前阻塞方法内变量和参数的数值。
    在这里插入图片描述

二、debug 的每个操作按钮

1. Step Over(F8)

在这里插入图片描述

作用:程序向下一步执行,但是要注意,这个按钮不会主动进入方法体内,而是会直接运行完整个方法后直接运行下一步。

例如:我当前运行的 debug,如果一直点击这个按钮的话,他会在 onCreate() 方法内,执行完 add() ,再执行完 sub() ,然后直接结束,并不会进 add 和 sub 方法内去打印。

2. Step Into(F7)

在这里插入图片描述

作用:程序向下一步执行,和Step Over的区别是如果该行有方法调用且为自定义方法,则运行进入自定义方法(不会进入官方类库的方法)。

例如:我当前运行的debug,如果你想进入到add()方法里,那么点击Step Into。假如我的add()方法里,还调用了其他的自定义方法,如果此时你都想进入各个方法查看则继续用Step Into,假如你只想停留在add()方法里,其他方法只需要得到个返回值的话,这个时候应该用Step Over。

3. Force Step Into

在这里插入图片描述
作用:可以进入包括官方类库在内的任何方法。一般我认为这个比较适合研究源码。

4. Step out

在这里插入图片描述

假如此时调试在add()方法里,如果我们觉得add()方法没有问题,想跳出这个方法继续debug其他断点时,那么点击Step out,跳出该方法。

5. Run to Cursor

在这里插入图片描述
他是移动到下个断点的意思,测试如下:

  • 假如在我们当前运行的debug,如果还在onCreate()方法内,当前断点在add()方法时,点击Run to Cursor,断点确实会移动到下个断点停留在sub()方法。
  • 如果此时我们已经进入到add()方法体内,点击Run to Cursor,我们会看到,他只是运行完一次for循环后,继续堵塞。如下图:
    在这里插入图片描述
    那么此时,如果我们已经在add()方法内,就是想直接运行到下个断点 sub() 上,怎么操作呢?点击 Resume Program
    在这里插入图片描述
    这个按钮不会管你在不在方法内,直接回到下一步断点上。

三、Debug 进阶用法

1. Watches

  • 方法1:在我们观察的Variables里,找到那个变量右键,选择Add to Watches
    在这里插入图片描述
  • 方法2:在我们的Watches界面,点击+号,在输入框内,输入i,进行搜索,也能添加到Watches,方便我们debug调试
    在这里插入图片描述

2. Set Value

比如在我们的 add() 方法里,有一个 for 循环,正常调试是每次都会从i=0的时候进行调试,如果我们想直接从i=5的时候进行调试,那么我们可以在 Variables 界面,找到那个变量值,右键选择 Set Value 后,输入我们5,就能跳过前几次循环。
在这里插入图片描述

3. 查看所有断点

开发中你打了很多断点忘记取消的情况下,你可以点击 View Breakpoints 查看所有断点
在这里插入图片描述
打开如下界面:
在这里插入图片描述

4. 停止 debug 调试

在这里插入图片描述

5. 已经运行的程序,避免重新运行程序的情况下,怎么添加 debug 调试。

这里多说几句,因为是在已经运行的程序上,添加debug调试,那么比如进入一个页面,onCreate()方法里的代码,都已经全部执行完了,比如我们点击一个按钮,需要运行的方法,在这个方法里我们才能添加debug调试。比如首先是一个正常运行的程序,我们给点击事件里加断点。

在这里插入图片描述

然后,点击 Attach Debugger to Android Process

在这里插入图片描述

弹出如下页面,点击 OK 就行了,点击按钮就能进行 debug 调试了

在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kevin-Dev

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值