Eclipse调试详解

一、常用快捷

作用域 功能 快捷键 

全局 单步返回 F7 

全局 单步跳过 F6 

全局 单步跳入 F5 

全局 单步跳入选择 Ctrl+F5 

全局 调试上次启动 F11 

全局 继续 F8 

全局 使用过滤器单步执行 Shift+F5 

全局 添加/去除断点 Ctrl+Shift+B 

全局 显示 Ctrl+D 

全局 运行上次启动 Ctrl+F11 

全局 运行至行 Ctrl+R 

全局 执行 Ctrl+U

 

二、常用选项

1.Step Into (also F5) 跳入

2.Step Over (also F6) 跳过

Drop to frame 回到当前方法第一行

3.Step Return (also F7) 执行完当前method,然后return跳出此method

4.step Filter 逐步过滤 一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering)

5.resume 重新开始执行debug,一直运行直到遇到breakpoint。

    例如 :A和B两个断点,debug过程中发现A断点已经无用,去除A断点,运行resume就会跳过A直接到达B断点。

6.hit count 设置执行次数 适合程序中的for循环(设置 breakpoint view-右键hit count)

7.inspect 检查 运算。执行一个表达式显示执行值

8.watch 实时地监视对象、方法或变量的变化

9.我们常说的断点(breakpoints)是指line breakpoints,除了line breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method breakpoint ,exception breakpoint.

10.field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂

11.添加method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)

12.添加Exception breakpoint 捕抓到Execption时暂挂(待续...)

断点属性:

   1.hit count 执行多少次数后暂挂 用于循环

   2.enable condition 遇到符合你输入条件(为ture\改变时)就暂挂

   3.suspend thread 多线程时暂挂此线程

   4.suspend VM 暂挂虚拟机

13.variables 视图里的变量可以改变变量值,在variables 视图选择变量点击右键--change value.一次来进行快速调试。

14.debug 过程中修改了某些code后--〉save&build-->resume-->重新暂挂于断点

15.resume 当debug调试跑出异常时,运行resume,重新从断点开始调试

16.如果一行有很多方法,

当第一次按F5键就跳入这一行第一个方法,F6一步一步调试,F7跳出这方法.

当第二次按F5键就跳入这一行第二个方法,F6一步一步调试,F7跳出这方法.

以此类推.想进入这一行第几个方法,就按几次F5和F7.

 

三、条件断点

问题引发场景:

有时候我们在debug的时候,断点进入一个for循环中如果一直按F6 对于循环次数很多的情况下是很蛋疼的。这时候 条件断点设置  就显示出强大优势:

测试代码:(我想当 i=500的时候让断点 起作用;显然一直F6你会崩溃的)

public class DebugPointTest {
    public static void main(String[] args){
        for(int i=0;i<1000;i++){
            System.out.println("i : "+i);
        }
  }
}

在 breakpoint上右击设置breakPoint  properties 如图



这样就可以了,设置好之后,你的breakpoint上面会有一个问号;此时再debug 只有当 i==500的时候才会进入

 

四、异常断点

在断点view中有一个看起来像J!的按钮,我们可以使用它添加一个基于异常的断点,例如我们希望当NullPointerException抛出的时候程序暂停,我们可以这样:



五、观察点

这个特性我非常喜欢,他允许当一个选定的属性被访问或者被更改的时候程序执行暂停,并进行debug。最简单的办法是在类中声明成员变量的语句行号左边双击,就可以加入一个观察点。

六、查看变量

在选中的变量上使用Ctrl+Shift+d 或者 Ctrl+Shift+i可以查看变量值,另外我们还可以在Expressions View中添加监视。也可以右键watch


七、改变变量值

我们可以在Debug的时候改变其中变量的值。在Variables View中可以按下图所示操作。

八、在Main方法中停止

在Run/Debug设置中,我们可以按如下图所示的启用这个特性。程序将会在main方法的第一行停住



九、环境变量

我们可以很方便的在Edit Conriguration对话框中添加环境变量


十、Drop to frame

这个功能非常酷,是我第二个非常喜欢的功能,Drop to frame就是说,可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也回到那个时候。不一定是当前方法,可以点击当前调用栈中的任何一个frame跳到那里(除了最开始的那个frame)。主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一遍,即可以一遍又一遍地在那个你关注的上下文中进行多次调试(结合改变变量值等其它功能),而不用重来一遍调试到哪里了。当然,原来执行过程中产生的副作用是不可逆的(比如你往数据库中插入了一条记录)。


十一、 过滤

当我们在调试的时候摁F5将进入方法的内部,但这有个缺点有的时候可能会进入到一些库的内部(例如JDK),可能并不是我们想要的,我们可以在Preferences中添加一个过滤器,排除指定的包。

十二、进入、跳过、返回

其实这个技巧是debug最基本的知识。

· F5-Step Into:移动到下一步,如果当前的行是一个方法调用,将进入这个方法的第一行。(可以通过第九条来排除)

· F6-Step Over:移动到下一行。如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行。

· F7-Step Return:继续执行当前方法,当当前方法执行完毕的时候,控制将转到当前方法被调用的行。

· F8-移动到下一个断点处。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Eclipse开发技术详解》是一本针对Eclipse开发工具的详细解读与应用的专业书籍。本书基于Eclipse开发环境,从技术的角度对Eclipse进行了深入浅出的剖析和讲解,旨在帮助读者全面了解和掌握该开发工具的各种高效技巧和应用。 本书分为多个章节,内容涵盖了Eclipse的基本功能介绍、各种插件的使用、项目管理、代码编辑与调试、界面设计等方面。书中以实例为依托,通过详细的演示和解读,让读者能够迅速上手并熟练使用Eclipse开发工具。 在Eclipse的基本功能介绍中,本书首先对Eclipse的安装与配置进行了详细说明,包括如何下载并安装Eclipse、如何配置开发环境等。随后,本书介绍了Eclipse中常用的视图、透视图、编辑器等界面元素的使用方法,以及如何进行工作空间的管理与设置。 在插件的使用方面,本书重点介绍了Eclipse中一些被认为是最为实用和常用的插件,例如Egit插件用于代码版本管理、Mylyn插件用于任务管理等。通过学习这些插件的使用,可以大大提高代码的管理效率和开发效率。 在项目管理方面,本书详细介绍了如何在Eclipse中创建和管理Java项目、Web项目和Android项目,以及如何进行项目的配置和打包等。此外,本书还着重讲解了如何使用Ant、Maven等构建工具进行项目的构建和部署。 在代码编辑与调试方面,本书详细介绍了Eclipse中各种常用的快捷键和代码模板的使用,以及如何进行代码断点调试等操作。此外,本书还特别介绍了一些常见的代码调试技巧和技术,如条件断点、表达式求值等。 在界面设计方面,本书通过讲解Eclipse插件SWT和JFace的使用,以及窗口、对话框和菜单等界面元素的设计与实现,帮助读者掌握Eclipse界面设计的方法和技巧。 总之,《Eclipse开发技术详解》是一本介绍Eclipse开发工具的权威指南,对于希望全面了解和掌握Eclipse开发技术的读者来说,是一本非常实用的参考书籍。无论是初学者还是有一定经验的开发者都可以通过这本书提升自己的开发技能和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值