Android debug越来越慢 studio android debug模式_android


文章目录

  • 一、启动 Debug 模式
  • 二、debug 的每个操作按钮
  • 1. Step Over(F8)
  • 2. Step Into(F7)
  • 3. Force Step Into
  • 4. Step out
  • 5. Run to Cursor
  • 三、Debug 进阶用法
  • 1. Watches
  • 2. Set Value
  • 3. 查看所有断点
  • 4. 停止 debug 调试
  • 5. 已经运行的程序,避免重新运行程序的情况下,怎么添加 debug 调试。


一、启动 Debug 模式

  1. 在需要打断点的代码行数上稍微偏右,点击鼠标左键,如图:
  2. Android debug越来越慢 studio android debug模式_bug调试_02

  3. 点击小爬虫按钮,启动 debug 模式。
  4. Android debug越来越慢 studio android debug模式_debug_03

  5. 运行成功后如下。可以看到红色框内,从下往上的顺序运行方法,一直阻塞在我们打断点的方法里;绿色款内,则是展示目前阻塞方法内变量和参数的数值。
  6. Android debug越来越慢 studio android debug模式_bug调试_04

二、debug 的每个操作按钮

1. Step Over(F8)

Android debug越来越慢 studio android debug模式_bug调试_05

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

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

2. Step Into(F7)

Android debug越来越慢 studio android debug模式_自定义方法_06

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

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

3. Force Step Into

Android debug越来越慢 studio android debug模式_debug_07


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

4. Step out

Android debug越来越慢 studio android debug模式_android_08

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

5. Run to Cursor

Android debug越来越慢 studio android debug模式_bug调试_09


他是移动到下个断点的意思,测试如下:

  • 假如在我们当前运行的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,就能跳过前几次循环。

Android debug越来越慢 studio android debug模式_android_10

3. 查看所有断点

开发中你打了很多断点忘记取消的情况下,你可以点击 View Breakpoints 查看所有断点

Android debug越来越慢 studio android debug模式_自定义方法_11


打开如下界面:

Android debug越来越慢 studio android debug模式_右键_12

4. 停止 debug 调试

Android debug越来越慢 studio android debug模式_bug调试_13

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

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

Android debug越来越慢 studio android debug模式_bug调试_14

然后,点击 Attach Debugger to Android Process

Android debug越来越慢 studio android debug模式_debug_15

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

Android debug越来越慢 studio android debug模式_debug_16