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 | 显示方式 | 可以选择不同的显示方式,具体看图 |
Eclipse的Debug各种视图介绍(二)的更多相关文章
- Eclipse的debug按钮介绍(三)
本文链接:https://blog.csdn.net/u011781521/article/details/55000066 http://blog.csdn.net/u010075335/ar ...
- Eclipse的Debug(一)
本文链接:https://blog.csdn.net/u011781521/article/details/55000066 http://blog.csdn.net/u010075335/ar ...
- 一个简单的Eclipse调试Debug流程(四)
本文链接:https://blog.csdn.net/u011781521/article/details/55000066 http://blog.csdn.net/u010075335/ar ...
- Eclipse 的 Debug 介绍与技巧【转载】
没有任何程序员能够一气呵成的写出没有任何 Bug 的代码,所以很多程序员有相当一部分时间是花费在 Debug 上的,程序调试是每个程序员必须面对的工作.如何使用 Eclipse 进行有效的.尤其是高效 ...
- Eclipse 的 Debug 介绍与技巧
转载: Eclipse 的 Debug 介绍与技巧
- RCP:eclipse的DEBUG机制
Eclipse debug文档翻译 运行一个程序需要添加launch configurable,在自定义launch configuration的时候会指定模式,比如run,debug,profile ...
- eclipse的debug使用(转载)
出处:http://www.blogjava.net/yxhxj2006/archive/2012/08/30/386621.html 远程Debug: http://blog.sina.com.cn ...
- [转]在Eclipse中Debug 为什么显示source not found
在Eclipse中Debug 为什么显示source not found http://zhidao.baidu.com/link?url=-jna2HB_k2FW72GPbT--5Qg2AWi3Ip ...
- iOS-#ifdef DEBUG代码块介绍
iOS-#ifdef DEBUG宏定义介绍 一.#ifdef DEBUG代码块 #ifdef DEBUG // Debug 模式的代码... #else // Release 模式的代码... #en ...
随机推荐
- Codeforces 919D Substring (拓扑排序+树形dp)
题目:Substring 题意:给你一个有向图, 一共有n个节点 , m条变, 一条路上的价值为这个路上出现过的某个字符最多出现次数, 现求这个最大价值, 如果价值可以无限大就输出-1. 题解:当这个 ...
- codeforces 789 C. Functions again(dp求区间和最大)
题目链接:http://codeforces.com/contest/789/problem/C 题意:就是给出一个公式 然后给出一串数求一个区间使得f(l,r)最大. 这题需要一个小小的处理 可以设 ...
- Linux之acl库的安装与使用(限制Linux某用户的访问权限)
acl库 作用:限制Linux某用户的访问权限 acl库的安装 首先github中下载acl代码: git clone https://github.com/acl-dev/acl 进入acl, 执行 ...
- odoo12之应用:一、双因子验证(Two-factor authentication, 2FA)(HOTP,TOTP)附源码
前言 双因子认证:双因子认证(2FA)是指结合密码以及实物(信用卡.SMS手机.令牌或指纹等生物标志)两种条件对用户进行认证的方法.--百度百科 跟我一样"老"的网瘾少年想必一定见 ...
- SSL证书部署相关知识总结
证书生成工具,手动:Keymanager工具https://keymanager.org/ 证书服务商集成:可自由获得TrustAsia.Let’s Encrypt颁发的 免费证书. Keymanag ...
- SpringMVC 视图解析器 InternalResourceViewResolver
我们在使用SpringMVC的时候,想必都知道,为了安全性考虑,我们的JSP文件都会放在WEB-INF下, 但是我们在外部是不可以直接访问/WEB-INF/目录下的资源对吧, 只能通过内部服务器进行转 ...
- Java 13 明天发布,最新最全新特性解读
2017年8月,JCP执行委员会提出将Java的发布频率改为每六个月一次,新的发布周期严格遵循时间点,将在每年的3月份和9月份发布. 目前,JDK官网上已经可以看到JDK 13的进展,最新版的JDK ...
- 如何让C/S应用支持多端(PC、Android、iOS)同时登录?
在C/S架构中,通常是使用 UserID 作为唯一标志来标记每一个用户的,也就是说,对于一个指定的UserID,只能有一个客户端在线. 如果我们开发的系统要支持同帐号多设备同时登录的场景,即需要像微信 ...
- 转载unity编辑器xml数据库插件
unity编辑器xml数据库插件 注:9月9日更新,其中MyXML.cs中有一句代码写错,查找功能失误,文中已经修改! 注:9月1日更新说明:xml存储结构,因为在用xml之前不知道正规的xml数据结 ...
- win下的mongodb安装和基础操作
一.下载地址: https://www.mongodb.com/download-center/community 二.安装错误: 1.安装过程中报错(类似下图): 原因:没有管理员权限 解决:管理员 ...