1.15.4 调试工具
控制调试工具
控制调试工具用来管理调试当中的程序运行,提供了如下常用功能:
暂停、恢复程序运行;
终止进程
查看、禁用断点
获取线程堆栈
恢复程序运行
当程序在断点处暂停的时候,可以使用此功能来恢复程序运行. 如果有下一个断点, 就会跳转下一个断点处. 如果没有断点,程序就继续运行.
操作步骤:
调试工具栏: 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