• 断点
    • 行断点
      • 操作步骤:
      • 属性设置
    • 方法断点
      • 操作步骤:
      • 属性设置
    • 字段观察点
      • 操作步骤:
      • 属性设置:
    • 条件断点
      • 操作步骤:
    • 临时断点
      • 快捷键:
    • 异常断点
      • 操作步骤:
      • 快捷键:
    • 日志断点
      • 操作步骤:
    • 禁用断点
      • 快捷键:
    • 断点设置
      • 快捷键:

    断点

    断点会暂停应用程序的运行,线程被挂起. 然后我们可以通过调试器一行一行的查看代码.

    断点的状态分为已启用断点和已禁用断点.

    已启用的断点在调试状态下,应用程序每次执行到该断点时都会暂停.[图片]已禁用的断点在调试状态下,不会对应用程序的执行造成任何影响.

    断点 - 图1

    Android Studio中的断点分为很多类型, 每一种断点都有它适用的场合和特殊的作用,了解这些断点,才有可能更好的使用断点.

    行断点

    行断点是我们最常用到的断点, 它被用于对代码中特定的行进行调试.

    操作步骤:

    菜单栏: Run —> Toggle Line Breakpoint

    快捷键:

    Mac: command + F8

    Windows\/Linux: Ctrl + F8

    单击某行(非方法名所在行)左边栏即可设置断点

    取消行断点跟添加行断点的方法同相。

    属性设置

    右击行断点弹出属性设置对话框:

    Enabled: 断点启用和禁用.

    Suspend:勾选All,执行到断点时所有线程都会被挂起. 勾选Thread,执行到断点时只有当前断点所在的线程会被挂起.

    切换线程挂起策略的时候,会显示Make Default,点击后就会把当前选中的策略变为默认的.

    Condition:设置断点暂停条件.

    方法断点

    方法断点主要用来检查方法的输入和输出(参数和返回值).

    操作步骤:

    菜单栏: Run —> Toggle Method Breakpoint

    单击方法名所在行的左边栏

    属性设置

    右击方法断点的图标,弹出属性设置对话框:

    跟行断点相比,方法断点的属性中多了个Watch,用来设置是否监视方法的进入和退出.

    Method entry 和 Method exit默认都被选中,也就是说调用此方法开始的时候和结束的时候断点都会被触发,如果不选中就不会触发.

    字段观察点

    当我们对程序运行的过程不太关心,只关心某个变量的变化的时候可以使用字段观察断点.

    操作步骤:

    菜单栏: Run —> Toggle Field Watchpoint

    单击字段所在行的左边栏

    属性设置:

    右击变量的断点图标,显示属性设置:

    这里有两个选择是Java Field Watchpoints特有的:

    Field access: 当字段被访问的时候触发断点.

    Field modification: 当字段被修攺的时候触发断点.

    条件断点

    条件断点用来设置断点被触发的条件,如果条件不满足断点是不会被触发的.

    操作步骤:

    右击左边栏的断点图标 —> 勾选Condition —> 设置暂停条件

    临时断点

    当我们想某个断点只被触发一次后就自动删除的时候,可以使用临时断点.

    操作步骤:

    菜单栏: Run —> Toggle Temporary Line Breakpoint

    快捷键:

    Mac: fn + command + option + shift + F8

    Windows\/Linux: Ctrl + Alt + Shift + F8

    Alt + 鼠标单击左边栏

    如果想把临时断点变为普通断点可以在属性中去掉Remove once hit勾选.

    异常断点

    异常断点会在某个异常发生时触发断点,这样我们就可以第一时间得到异常信息,方便排查问题.

    操作步骤:

    菜单栏: Run —> View Breakpoints

    快捷键:

    Mac: fn + shift + command + F8

    Windows\/Linux: Ctrl + Alt + F8

    然后在打开的断点窗口点击左上的角的+号按钮,选择Java Exception Breakpoints.

    然后在弹出的[Enter Exception Class]窗口中输入你要调试的异常, 例如:NullPointException.

    确定后当你的应用程序抛出空指针异常时,就会在异常处触发断点.

    日志断点

    在调试的时候,我们想临时多加一些日志但又不想重新构建应用程序的时候,就可以使用日志断点.

    操作步骤:

    右击断点 —> 取消勾选Suspend —> 在展开的选项中勾选Log evaluated expression —> 输入日志信息表达式.

    因为取消了Suspend,所以执行到断点处不会暂停,而是会打印日志.

    日志会打印在Console窗口中:

    禁用断点

    当某个断点我们暂时不需要,但又不想删除时可以先禁用.

    操作步骤:

    菜单栏: Run —> Toggle Breakpoint Enable

    快捷键:

    Mac: option +单击断点

    Windows\/Linux: Alt +单击断点

    禁用断点之后,在执行到该断点就不会暂停了. 如果想恢复断点使用禁用相同的操作即可.

    断点设置

    在断点的设置对话框中我们可以查看和管理项目中的断点,可以设置断点的属性.

    打开属性配置窗口:

    菜单栏 —> Run —> View Breakpoints

    快捷键:

    Mac: fn + shift + command + F8

    Windows\/Linux: Ctrl + Alt + F8

    调试工具窗口: 点击左边工具栏的View Breakpoints

    右击断点的图标 —> 点击More

    然后会打开断点设置对话框