Eclipse的Debug各种视图介绍(二)
本文链接:https://blog.csdn.net/u011781521/article/details/55000066
http://blog.csdn.net/u010075335/article/details/51222493
系列文章
1、窗口全览:
2、Debug View(线程堆栈视图):
debug视图允许您在工作台上管理正在调试和运行的程序,他显示了你正在调试的程序中挂起的线程的堆栈帧,程序中的每个线程作为树的节点出现。他展示了正在运行的每个目标的进程。如果线程被挂起,它的堆栈帧以子元素的形式展示。
3、Variables View (变量视图)
- 为变量名视图,显示当前代码行中所有可以访问的实例变量和局部变量
- 显示所有的变量值
- 可以通过该窗口来改变变量值
Variables View 显示与Debug View 中选定的堆栈帧相关的变量信息,调试Java程序时,变量可以选择将更详细的信息显示在详细信息窗格中。此外,Java对象还可以显示出其包含的属性的值。在该窗口中选中变量鼠标右键点击可以进行许多操作,主要操作有以下这些:
- All Instances:打开一个对话框来显示该java类的所有实例,使用该功能需要java虚拟机支持实例的检索。
- All References:打开一个对话框来显示所有引用了该变量的java对象,
- Change Value:更改变量的值,该功能可以和Drop to Frame联合使用进行程序的调试。使用这两个功能就可以代替重新debug
- Copy Variables:复制变量的值,尤其在变量值很长(比如json数据)的时候,这个功能就派上用场了。
- Find:有的时候一个类中变量特别多的时候,可以进行查找。
4、Breakpoints View (断点视图)
- 1.显示所有断点
- 2. 将当前窗口1中选中的端口失效,再次点击启用。
- 3.异常断点
Breakpoints View将列出你在当前工作区间里设置的所有断点,双击断点可以进入到程序中该断点的位置。还可以启用或禁用断点,删除,添加新的,根据工作组或点命中计数给他们分组。在使用断点是有以下两个技巧是十分有用的:
- Hit Count: 是指定断点处的代码段运行多少次,最典型的就是循环,如果要让一个循环执行10次就线程挂起,则指定Hit Count值为10,那么当前的循环执行到第九次的时候就会挂掉。
- Conditional:顾名思义,就是条件判断,例如我们需要循环变量i==10时,线程挂起,则条件设定为i==10,选择Suspend when “true”。
那如果上面的Hit Count和Conditional都选择的话,如果表达式和值设置不合理则会失效。如果选择Suspend when value changes,那么可能在Conditional在变量值发生改变的时候就挂起。
5、Expressions View (表达式视图)
- 1.表达式
- 2. 点击此可以新增一个表达式
要在 Debug 透视图的编辑器中求表达式的值,选中设置有断点的一整行,并在上下文菜单中选择 Inspect 选项。表达式是在当前堆栈帧的上下文中求值的,其结果显示在 Display 窗口的 Expressions 视图中。比如我想要计算变量a+b的值,那么就可以在表达式视图中加一个表达式:a+b
6、Display View
可以使用这个视图,输入或者演算一些新的代码。这些代码在当前的调试位置的上下文环境中被执行,这意味着,你可以使用所有变量甚至是内容助手。要执行你的代码的话,只需标记它,并使用右键菜单或者CTRL+U(执行)或者 CTRL+SHIFT+I (检查)
7、代码视图
代码视图,用来显示具体的代码。其中绿色部分是指当前将要执行的代码
标记 | 功能 | 快捷键 | 描述 |
---|---|---|---|
11.1~11.5 | quick type hierarchy | ctrl+t | 查看当前类、接口的继承层次, 默认进入时,显示继承/实现当前类/方法的子类,子接口11.1;再次ctrl+t,将显示当前类、接口继承/实现的超类/接口11.2;调试时,经常用该功能,在接口或抽象类的方法调用处11.3,ctrl+t察看实现类11.4,直接导航到对应的实现方法中11.5。 |
quick outline | ctrl+o | 查看当前类的大纲,包括方法,属性等内容; 用处不大; | |
open declarations | F3 | 查看变量、属性、方法定义的地方 |
8、Call Hierarchy窗口:
标记 | 功能 | 快捷键 | 描述 |
---|---|---|---|
12.1~12.2 | open call hierarchy | ctrl+alt+h | 查看方法被调用层次, 可以看当前方法被调用的地方12.1,或者当前方法调用了其他类的方法12.2 |
9、Type Hierarchy窗口:
标记 | 功能 | 快捷键 | 描述 |
---|---|---|---|
13.1~13.4 | open type hierarchy | F4 | 查看继承层次, 可以查看类的继承层次,包括子类父类13.1, 或者类实现的接口继承层次13.2,还会根据选择的类/接口,在右边显示该类的大纲13.3、 13.4; 13.3可以选择是否显示父类/父接口的属性、方法等 |
10、Search 窗口:
标记 | 功能 | 快捷键 | 描述 |
---|---|---|---|
14.1 | declarations | ctrl+g | 相同的方法签名在工作空间中及第三方jar包中被定义的位置14.1 |
14.2 | references | ctrl+shif+g | 当前选中的变量、属性、方法在工作空间中及第三方jar包中被引用的位置14.2 |
14.3 | ctrl+shift+u | 查看变量、属性 、方法在当前类中出现的地方14.3 | |
14.4 | implements | 查看实现当前接口的类14.8 | |
14.4~14.7 | 显示方式 | 可以选择不同的显示方式,具体看图 |