本文链接:https://blog.csdn.net/u011781521/article/details/55000066

       http://blog.csdn.net/u010075335/article/details/51222493

系列文章

Eclipse的Debug(一)

Eclipse的Debug各种视图介绍(二)

Eclipse的debug按钮介绍(三)

一个简单的Eclipse调试Debug流程(四)

三个Eclipse下的Debug的使用场景(五)

1、窗口全览:

2、Debug View(线程堆栈视图):

debug视图允许您在工作台上管理正在调试和运行的程序,他显示了你正在调试的程序中挂起的线程的堆栈帧,程序中的每个线程作为树的节点出现。他展示了正在运行的每个目标的进程。如果线程被挂起,它的堆栈帧以子元素的形式展示。

3、Variables View (变量视图)

  1. 为变量名视图,显示当前代码行中所有可以访问的实例变量和局部变量
  2. 显示所有的变量值
  3. 可以通过该窗口来改变变量值

  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各种视图介绍(二)的更多相关文章

  1. Eclipse的debug按钮介绍(三)

    本文链接:https://blog.csdn.net/u011781521/article/details/55000066    http://blog.csdn.net/u010075335/ar ...

  2. Eclipse的Debug(一)

    本文链接:https://blog.csdn.net/u011781521/article/details/55000066    http://blog.csdn.net/u010075335/ar ...

  3. 一个简单的Eclipse调试Debug流程(四)

    本文链接:https://blog.csdn.net/u011781521/article/details/55000066    http://blog.csdn.net/u010075335/ar ...

  4. Eclipse 的 Debug 介绍与技巧【转载】

    没有任何程序员能够一气呵成的写出没有任何 Bug 的代码,所以很多程序员有相当一部分时间是花费在 Debug 上的,程序调试是每个程序员必须面对的工作.如何使用 Eclipse 进行有效的.尤其是高效 ...

  5. Eclipse 的 Debug 介绍与技巧

    转载: Eclipse 的 Debug 介绍与技巧

  6. RCP:eclipse的DEBUG机制

    Eclipse debug文档翻译 运行一个程序需要添加launch configurable,在自定义launch configuration的时候会指定模式,比如run,debug,profile ...

  7. eclipse的debug使用(转载)

    出处:http://www.blogjava.net/yxhxj2006/archive/2012/08/30/386621.html 远程Debug: http://blog.sina.com.cn ...

  8. [转]在Eclipse中Debug 为什么显示source not found

    在Eclipse中Debug 为什么显示source not found http://zhidao.baidu.com/link?url=-jna2HB_k2FW72GPbT--5Qg2AWi3Ip ...

  9. iOS-#ifdef DEBUG代码块介绍

    iOS-#ifdef DEBUG宏定义介绍 一.#ifdef DEBUG代码块 #ifdef DEBUG // Debug 模式的代码... #else // Release 模式的代码... #en ...

随机推荐

  1. codeforces 789 C. Functions again(dp求区间和最大)

    题目链接:http://codeforces.com/contest/789/problem/C 题意:就是给出一个公式 然后给出一串数求一个区间使得f(l,r)最大. 这题需要一个小小的处理 可以设 ...

  2. .NET Core CSharp 中级篇2-8 特性标签

    .NET Core CSharp 中级篇2-8 本节内容为特性标签 简介 标签Attribute是一个非常重要的技术,你可以使用Attribute技术优化精简你的代码.特性标签可以运用在程序集,模块, ...

  3. html/css中相对定位relative和绝对定位absolute的用法

    一.相对定位(position:relative) 1.相对定位:将盒子的position属性设置为relative:可通过left.top.right.bottom设置偏移量. 相对定位基础用法示例 ...

  4. json_tuple()函数的应用

    直接举栗子说明用法吧: 下面是来自APP埋点脚本获取的一段JSON字符串:通过平台sqoop推数存放在cx_ods_safe.paczcb_paczdata_cz_policy_detail_info ...

  5. Java并发包下的几个API

    并发包 (计数器)CountDownLatch (屏障)CyclicBarrier (计数信号量)Semaphore 案例: 需求: 代码: 并发包 (计数器)CountDownLatch ​Coun ...

  6. 【Offer】[23] 【链表中环的入口结点】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 一个链表中包含环,如何找出环的入口结点?  思路分析 判断链表中是否有环:用快慢指针的方法,慢指针走一步,快指针走两步,如果快指针追上 ...

  7. 2019沈阳网络赛B.Dudu's maze

    https://www.cnblogs.com/31415926535x/p/11520088.html 啊,,不在状态啊,,自闭一下午,,都错题,,然后背锅,,,明明这个简单的题,,, 这题题面不容 ...

  8. JavaEE就业学习路线(给初学者以及自学者一个学习方向)

    大家按这个路线学完后基本可以找工作了 第一节java入门 1-Java 背景介绍 2-Java 入门程序的编写 3-环境配置 4-基本概念介绍 5-类型转换 6-开发工具使用 第二节java基础 1- ...

  9. Spring Boot核心(基本配置)

    上一篇Spring Boot我们简单讲了如何快速创建一个SpringBoot项目. 大家都知道SpringBoot非常强大,可以轻松与各种工具集成,但是我们知其然,也必须知其所以然. 今天开始就和大家 ...

  10. C#基础知识总结(一)

    1.什么是匿名函数?匿名函数,就是没有名字的函数,或者说就是一组代码块,他的参数只有在方法块内有效,可以有效的减小创建方法事所需要的系统开销 2.lambda表达式是什么?lambda表达式 就是一个 ...