eclipse中debug模式的使用
使用Debug模式的目的
1.跟踪程序是否走预期流程
2. 查看运行过程中某些变量值
Debug常用快捷键
ctrl+shift+b:打开、关闭断点
ctrl+alt+b:开启、跳过已存在的所有断点
Ctrl+shift+i:查看选中变量的值
F5:进入当前运行的程序内部
F6:当前程序的下一行
F7:跳出函数
F8:运行完当前断点
进入debug模式
1、设置断点
2、启动servers端的debug模式
3、运行程序,在后台遇到断点时,进入debug调试状态
Debug视图
这是一种debug视图。一般进入debug模式都会开启该视图
设置断点
在启动应用程序进行调试时,Eclipse 会自动切换到 Debug 透视图。最常见的调试步骤是设置断点,这样可以检查条件语句或循环内的变量和值。要在 Java 透视图的 Package Explorer 视图中设置断点,双击选择的源代码文件,在一个编辑器中打开它。遍历代码,将鼠标放在可疑代码一行的标记栏(在编辑器区域的左侧)上,双击即可设置断点。
Skip All Breakpoints:将所有断点设置为被跳过的,设置了Skip All Breakpoints之后,所有断点上都会有一个斜线,表示断点将被跳过,线程不会在该断点处被挂起。
Drop to Frame:这个命令可以让程序回到当前方法的开头第一行重新开始执行,可以重新执行这个java堆栈帧,可以选择一个指定的堆栈帧,然后点击Drop to Frame,这样就可以重新进入指定的堆栈帧。使用Drop to Frame时候需要注意:
1.不能drop到已经执行过的方法栈中的方法中。
2.drop到stack frame中时,不会改变全局数据原有的值,比如,一个包含元素的vertor并不会被清空。
Step Filters:这个功能比较简单,就是当我们在debug的时候想要忽略一些我们不关注的类时,可以开启Step Filters进行过滤,程序会一直执行直到遇到未经过滤的位置或断点。Step Filters功能由Use Step Filters,Edit Step Filters,Filter Type,Filter Package四项组成。
Step Return:跳出当前方法,在被调用方法的执行过程中,使用Step Return会在执行完当前方法的全部代码后跳出该方法返回到调用该方法的方法中。
Step Over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完在停止,也就是把子函数整个作为一步。
Step Into:单步执行,遇到子函数就进入并且继续单步执行
Resume:恢复暂停的线程,直接从当前位置跳到下一个断点位置。
Suspend:暂停选定的线程,这个时候可以进行浏览或者修改代码,检查数据等。
Terminate:Eclipse通过Terminate命令终止对本地程序的调试。
Disconnect:Eclipse使用Disconnect命令来终止与远程JVM的socket连接。
All Instances:打开一个对话框来显示该java类的所有实例,使用该功能需要java虚拟机支持实例的检索。
All References:打开一个对话框来显示所有引用了该变量的java对象。
Change Value:更改变量的值,该功能可以和Drop to Frame联合使用进行程序的调试。使用这两个功能就可以代替重新debug。
Copy Variables:复制变量的值,尤其在变量值很长(比如json数据)的时候,这个功能就派上用场了。
Find:有的时候一个类中变量特别多的时候,可以进行查找。