Eclipse中的Debug
一、Debug的基本过程
- 设置断点(双击待设断点左边行号处)
- 进入Debug模式(在待调试类上右键>调试方式,根据需求选择)
- 开始调试
二、Debug中的常用操作
- 继续执行【F8】:继续运行程序,直到下一个断点时挂起。
- 单步跳入【F5】:执行下一行有效代码,检测到调用方法时,进入被调用的方法。
- (有效代码:本次运行中要执行的代码。比如if判断条件为false时,if{}内即为无效代码)
- 单步跳过【F6】:执行下一行有效代码。
- 单步返回【F7】:执行完当前方法(直到断点处),返回到调用处(如果有)。(无调用者时,F7无效)
- 单步执行过滤器:激活后,在单步执行(F5/F6/F7)时,遇到被过滤的部分,将不会停下,继续执行。一般将JDK或者其他库中的底层代码过滤掉,也可以过滤自己的代码库中的框架部分代码。(设置:窗口>首选项>Java>调试>单步执行过滤)
- 暂挂/恢复:暂时挂起一个线程。一般用于多线程程序的调试。
- 拖放至帧:回到当前方法的开始处重新执行,之前执行过程中变量的变化全部重置为开始时的状态,但在程序外产生的作用不可逆(比如数据库操作、文件操作等)。可以配合修改代码、改变变量值等,反复调试关注的某一段代码。【其实不止是当前方法,还可以通过点击当前调用栈中的任意一个帧(起始帧除外),跳到那里】
- 终止:强行关闭所有线程,结束本次调试。
三、断点简述
1.断点类型
- 行断点:执行到该行时暂挂。最普通的断点形式,在行号处双击添加。
- 方法断点:进入/退出方法时暂挂。将断点打在方法的入口处。特点:可以将断点打在JDK源码中(行断点不行),从而查看方法的调用栈。
- 异常断点:发生异常时暂挂。运行>添加Java异常断点,或点击
添加异常断点。可用占位符*和?,分别表示任意字符串和任意字符。 - 类加载断点:加载指定类时暂挂。 运行>添加类装入断点,来添加类加载断点。在调试类加载(静态方法、静态代码块等)时使用。
- 变量观察点:指定成员变量发生指定变化时暂挂。在声明成员变量处的行号双击添加。可以选择在该变量访问、修改或达成指定条件时挂起。
2.断点属性
在断点上右键>断点属性来设置。上述断点均可设置这些属性,来改变暂挂的方式。
- Hit Count:执行次数。设置后,在程序第X次执行到此断点时暂挂。用于循环中的调试。
- Trigger Point:触发点。设置后,只有在该断点被触发后,其他断点才生效。
- 暂挂方式:挂起线程/挂起VM。前者一般用于多线程时暂挂该线程(单线程也可使用,与挂起VM效果相同)。
- Conditional:条件断点。设置后,仅当满足指定条件时暂挂。可选两种:条件为真/变量值改变。选择“条件为真”时,应在条件栏中填写条件表达式;选择“变量值改变”时,应在条件栏中填写变量表达式。
四、其他技巧
1.在main方法的第一行停止:运行>调试配置,选择“在main中停止”。设置后,程序运行到main函数的第一行时暂挂。
2.表达式:可以对自己的感兴趣的一些变量进行观察,也可以增加一些自己的表达式,也可以查看一行代码的运行结果。窗口>显示视图>表达式,打开表达式视图,然后可以添加表达式、观察动态。要对表达式求值时,选中一行,在要求值的地方右键>检查。
Eclipse中的Debug的更多相关文章
- eclipse中以debug方式启动tomcat报错
在eclipse中debug Tomcat报错,错误如下: FATAL ERROR in native method: JDWP No transports initialized, jvmtiEr ...
- 如何在eclipse中快速debug到想要的参数条件场景下
前言 俗话说,工欲善其事必先利其器. 对于我们经常使用的开发工具多一些了解,这也是对我们自己工作效率的一种提升. 场景 作为开发,我们经常会遇到各种bug,大部分的bug很明确,我们直接可以打断点定位 ...
- eclipse中的debug的用法
最基本的操作是: 1.首先在一个java文件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run 当程序走到断点处就会转到debug视 ...
- 怎样在Eclipse中使用debug模式调试程序
最基本的操作是: 1, 首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下, 2, F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6 ...
- Maven项目在Eclipse中调试 Debug
废话不说一路跟图走. 断点会进入到如下页面点击Edit Source Lookup Path 如下图操作 成功进入Debug模式
- eclipse中的debug按钮组突然找不到了,找回方法
- eclipse中使用debug,显示参数配置
打开Window---->Preferences------>java------>Editor-------->Hovers 效果:
- [转]在Eclipse中Debug 为什么显示source not found
在Eclipse中Debug 为什么显示source not found http://zhidao.baidu.com/link?url=-jna2HB_k2FW72GPbT--5Qg2AWi3Ip ...
- eclipse中的tomcat debug模式启动报超时45s
在eclipse中加入tomcat,开debug模式非常好用,这里就不介绍了 最近eclipse的tomcat开debug模式就是启动不了,增加时间也不能解决,但是非debug模式就可以打开,我觉得是 ...
随机推荐
- juggle dsl语法介绍及codegen浅析
juggle语法规范如下: 类型: bool -> in cpp bool int -> in cpp int64 float -> in cpp double string -&g ...
- JAVA基础——异常详解
JAVA异常与异常处理详解 一.异常简介 什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错.在java中,阻止当前方法或作用域的情况,称之为异常. java中异常的体系是怎么样的呢? 1 ...
- Maven pom.xml配置详解
POM的全称是“ProjectObjectModel(项目对象模型)”. 声明规范 <projectxmlns="http://maven.apache.org/POM/4.0.0&q ...
- Vulkan Tutorial 27 combined image sampler
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Introduction 我们在教程的uniform 缓冲区中首次了解了描述符.在本 ...
- Spark Standalone Mode Configuration
For currently popular distributed framework Spark, here is the intro and step to configure the spark ...
- java 中的常用类
Java 中的包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等. 基本数据类型是不具备对象的特性的,比如基本类型不能调用方法.功能 ...
- Java编程代码性能优化总结
如果有足够的时间开发.维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的. 代码优化的目标是: 1.减小代码的体积 2.提高代码运行的效率 ...
- jQuery知识点整合
一.jQuery介绍 jQuery是一个函数库,一个js文件,页面用script标签引入js文件就可以使用 <script type="text/javascript" sr ...
- Android - 使用Volley请求网络数据
Android - 使用Volley请求网络数据 Android L : Android Studio 14 个人使用volley的小记,简述使用方法,不涉及volley源码 准备工作 导入Volle ...
- Java Swing intro
Java Swing intro 如果有Android app开发经验,快速上手Swing不是问题.UI方面有相似的地方. 简单的几行代码就能抛出一个框框,记录一下操作过程 1.先显示一个框框 Era ...