• 调试工具
    • 控制调试工具
      • 恢复程序运行
      • 操作步骤:
      • 快捷键:
      • 暂停程序运行
      • 操作步骤:
      • 终止进程
      • 操作步骤:
      • 快捷键:
      • 查看断点
      • 操作步骤:
      • 快捷键:
      • 禁用断点
      • 操作步骤:
      • 操作步骤:
      • 恢复布局
      • 操作步骤:
      • 设置
    • 步进调试工具
      • 快捷键:
      • 单步跳过
      • 操作步骤:
      • 快捷键:
      • 单步进入
      • 操作步骤:
      • 强制进入
      • 操作步骤:
      • 快捷键:
      • 单步跳出
      • 操作步骤:
      • 丢弃帧
      • 操作步骤:
      • 运行到光标处
      • 操作步骤:
      • 计算表达式
      • 操作步骤:
      • 快捷键:

    调试工具

    控制调试工具

    控制调试工具用来管理调试当中的程序运行,提供了如下常用功能:

    • 暂停、恢复程序运行;

    • 终止进程

    • 查看、禁用断点

    • 获取线程堆栈

    恢复程序运行

    当程序在断点处暂停的时候,可以使用此功能来恢复程序运行. 如果有下一个断点, 就会跳转下一个断点处. 如果没有断点,程序就继续运行.

    操作步骤:

    调试工具栏: Resume Program

    快捷键:

    Mac: option + command + R

    Windows\/Linux: F9

    暂停程序运行

    程序运行时点击此按钮来暂停程序运行.

    操作步骤:

    调试工具栏: Pause Program

    终止进程

    当我们想终止调试的时候可以直接终止进程.

    操作步骤:

    快捷键:

    Mac: fn + command + F2

    Windows\/Linux: Ctrl + F2

    调试工具栏: Stop ‘配置名’

    查看断点

    操作步骤:

    调试工具栏: View Breakpoints

    快捷键:

    Mac: fn + shift + command + F8

    Windows\/Linux: Ctrl + Shift + F8

    禁用断点

    禁用断点功能可以切换断点状态(启用\/禁用). 我们可以暂时禁用项目中的断点去执行程序,这样就不会在断点处停止了.

    操作步骤:

    调试工具栏: Mute Breakpoints

    获取线程堆栈

    操作步骤:

    调试工具栏: Get thread dump

    恢复布局

    恢复布局功能可以恢复到原始的布局,当前所有的布局变更都会被放弃.

    操作步骤:

    调试工具栏: Restore Layout

    设置

    操作步骤:

    调试工具栏: Settings

    Show Values Inline:

    选中后启动内联调试功能,允许在编辑器中观察执行过的变量的值.

    Show Method Return Values:

    选中后会显示上次执行方法的返回值.

    Auto-Variables Mode:

    选中后调试器可以自动评估某些变量(在断点前几行和后几行的变量).

    Sort values alphabetically:

    选中后窗口中的变量值按字母的顺序排列.

    Unmute breakpoints on session finish:

    选中后当一个调试会话完成后,会重新启用所有禁用的断点.

    步进调试工具

    使用步进调试工具可以一行一行的查看代码的执行,就像程序执行的慢镜头回放一样,我们可以使用步进调试工具查看代码执行的过程.

    显示执行点

    当我们需要查看当前的执行点时,光标会立刻定位到当前执行到的断点.

    操作步骤:

    调试工具栏: 单击Show Execution Point

    快捷键:

    Mac: fn + option + F10

    Windows\/Linux: Alt + F10

    单步跳过

    执行单步跳过,会执行下一行. 如果下一行是一个方法,不会进入方法体,而是会执行完此方法,然后跳到下一行.

    操作步骤:

    快捷键:

    Mac: fn + F8

    Windows\/Linux: F8

    调试工具栏: 单击Step Over

    单步进入

    执行单步进入,会执行下一行. 如果下一行是一个方法, 且该方法如果是自定义的方法, 则会进入方法内. 如果不是自定义的(官方类库的方法)则不会进入.

    操作步骤:

    快捷键:

    Mac: fn + F7

    Windows\/Linux: F7

    调试工具栏: 单击Step Into

    强制进入

    执行强制进入,会进入任何方法. 不管该方法是自定义的还是官方类库的.

    操作步骤:

    调试工具栏: 单击Force Step Into

    快捷键:

    Mac: fn + option + shift + F7

    Windows\/Linux: Alt + Shift + F7

    单步跳出

    执行单步跳出,会跳出当前进入的方法,返回该方法被调用处的一下行.(注意:跳出意味着该方法被执行完毕)

    操作步骤:

    调试工具栏: 单击Force Step Out

    快捷键:

    Mac: fn + shift + F8

    Windows\/Linux: Shift + F8

    丢弃帧

    如果你已经进入了某个方法内,执行丢弃帧,当前方法会被中断,并返回到当前方法被调用的地方. 另外变量的值也会回到最初.

    当我们想反复调试某个方法,观察此方法一遍遍的执行的时候,可以使用此功能.

    操作步骤:

    调试工具栏: 单击Drop frame

    运行到光标处

    在调试时,光标可以放在任意一行. 然后执行Run to Cursor,程序会运行到光标所在行暂停. 其实这里的光标相当于一个临时断点.

    操作步骤:

    快捷键:

    Mac: fn + option + F9

    Windows\/Linux: Alt + F9

    调试工具栏: 单击Run to Cursor

    计算表达式

    执行Evaluate Expression会打开计算表达式窗口.

    操作步骤:

    调试工具栏: 单击Evaluate Expression

    快捷键:

    Mac: fn + option + F8

    Windows\/Linux: Alt + F8