`
boendev
  • 浏览: 242667 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Eclipse断点功能进阶

阅读更多

大家肯定都用过Eclipse的调试的功能,在调试的过程中自然也无法避免要使用断点(breakpoint),但不知是否对Eclipse中各类断点都有所了解。本篇图文并茂地介绍了Eclipse中全部类型的断点,及其设置,希望对大家有所帮助。(2011.11.20)

1. 示例程序
BreakpointDemo是一个臆造的应用程序,只是为了便于讲解Eclipse中各类断点的使用罢了。其代码如下图所示,

BreakpointDemo主要包含两个方法:
[1]setValue,该方法根据指定的次数(count),对成员变量value进行赋值,值的范围为0-9的随机整数。
[2]printValue,该方法会调用setValue()对value进行赋值,并打印出value的值;但,如果value能被3整除,那么就会抛出IllegalArgumentException异常。

2. Line Breakpoint
Line Breakpoin是最简单的Eclipse断点,只要双击某行代码对应的左侧栏,就对该行设置上断点。此处,对第20行代码设置上Line Breakpoint,如下图所示,

可以为Line Breakpoint设置一个条件,那么当程序运行到该断点时,只有满足设定的条件,才会被中断。右键点击第20行的断点,选择"Breakpoint Properties..."

在弹出的属性对话框中,勾选上"Conditional",然后在文本框中输入"count % 2 == 0"。

该条件表示,当程序运行到第20行时,只有当count为偶数时,程序才会被中断。细心地话,你会发现该断点的图标发生了改变,多了一个问号。


3. Watchpoint
Line Breakpoint关注于程序运行的"过程",大家也常把使用这种断点的调试称为单步调试。但有时候,我们对程序的运行过程不太了解,可能也不太关心,不能确定在什么地方设置断点比较合适,而可能比较关注某个关键变量的变化或使用。此时,就可以为该变量设置一种特殊的断点--Watchpoint。在此示例,我们最关心的就是成员变量value的值,那么就可以为它设置一个Watchpoint,双击第9行代码对应的左侧栏就可以了。

使用在2中所提及的方法,查看该断点的属性,

默认地,当该变量被访问或它的值被修改时,程序都会被中断。但在本示例中,只希望当对value的值进行修改时程序才需要被中断,所以取消对"Access"的勾选。

这时,我们会发现原来的Watchpoin图标也有变化了。


4. Method Breakpoint
与关注对某个变量的访问与修改一样,我们也可以关注程序对某个方法的调用情况,即,可以设置Method Breakpoint。在此处,设置针对方法setValue的Method Breakpoint。同理,双击第11行代码对应的左侧栏即可。

仍然要查看该断点的属性。默认地,只勾选了"Entry",而没有勾选"Exit"。

这表示,当刚进入该方法(调用开始)时,程序会被中断;而,离开该方法(调用结束)时,程序并不会被中断。在本示例中,需要同时勾选上"Exit"。

点击OK之后,可以看到该断点的图标也有所改变。

根据这里的设置,当程序运行到第20行后会在第12行被中断,尽管这里没有显式的断点,但这就是setValue()方法的入口(Entry)。必须注意地是,程序在运行到第16行时不会被中断,尽管它看起来像是setValue()方法的出口(Exit)。实际上,程序会在第17行被中断,这里才是setValue()调用结束的地方。

5. Exception Breakpoint
如果,我们期望某个特定异常发生时程序能够被中断,以方便查看当时程序所处的状态。通过设置Exception Breakpoint就能达到这一目标。本示例故意在第23行抛出了IllegalArgumentException异常,我们期望程序运行到此处时会被中断。但我们不直接为此行代码设置Line Breakpoint,而是为IllegalArgumentException设置Exception Breakpoint。设置Exception Breakpoint的方法与其它类型断点都不同,它不能通过双击左侧栏的方式在代码编辑器上直接进行设置。点击Breakpoints视图右上角形如Ji的图标,

会弹出如下所示的对话框,

在其中选中IllegalArgumentException,并点击OK,这时一个Exception Breakpoint就设置好了。

当value为3的倍数时,程序会在第23行被中断,这时我们就能使用调试器来看看value具体是等于0,3或6。


6. Class Load Breakpoint
还有一种大家平时可能不太用的断点--Class Load Breakpoint,即当某个类被加载时,通过该断点可以中断程序。


小结
上述的Eclipse断点,我们在现实工作中肯定都有意或无意地使用过其中的几种,只是不一定十分了解内情罢了。使用好Eclipse的各种断点,可以把很好地帮助我们分析程序,定位问题。

分享到:
评论

相关推荐

    eclipse中文教程.rar

    8. **学习资源**:"eclipse中文教程"可能包含Eclipse的基础操作、进阶技巧、特定插件的使用方法等内容,这对于初学者来说是非常宝贵的资料。通过学习,开发者可以快速上手Eclipse,提升开发效率。 总之,Eclipse是...

    Eclipse 3 编程指南(英文版)

    4. **调试程序**:利用Eclipse 3的调试工具,可以在代码中设置断点,逐步执行程序,查看变量值等。 5. **版本控制**:通过Eclipse 3中的Team选项,可以方便地进行版本控制操作,如提交更改、更新代码等。 #### 五、...

    Eclipse整合开发工具

    这些文档中的基础篇1-7很可能是逐步引导用户熟悉Eclipse各项功能的教程,从最基础的界面介绍到进阶的开发技巧,帮助初学者快速上手。通过学习这些内容,开发者不仅能掌握Eclipse的基本操作,还能深入理解其工作原理...

    Eclipse 中文手册

    Eclipse的调试工具也十分强大,包括断点、单步执行、变量观察、调用栈查看等功能,使得程序调试变得直观易懂。此外,Eclipse的自动代码完成(Content Assist)和重构功能(Refactoring)极大提高了开发效率。 除了...

    Eclipse的中文使用手册

    Eclipse还提供了强大的调试工具,包括断点、单步执行、查看变量值等功能,有助于定位和解决问题。同时,其插件系统使得Eclipse可以支持各种语言和框架,如Python、PHP、JavaScript等,扩展了它的应用范围。 总的来...

    Eclipse 开发学习笔记.pdf

    6. **调试工具**:详细讲解如何使用Eclipse进行单步调试,设置断点,查看变量值,跟踪调用堆栈,以及使用远程调试功能。 三、构建与运行 7. **构建过程**:理解Eclipse的构建机制,包括编译、打包、部署等步骤,...

    2017eclipse 最新中文版教材

    5. **调试工具**:Eclipse的调试器功能强大,支持断点、单步执行、变量查看等,帮助开发者快速定位并解决问题。 6. **集成开发环境**:Eclipse集成了许多开发必备工具,如JUnit测试框架、Mylyn任务管理器等,形成了...

    eclipse For C/C++

    对于 C/C++ 开发者来说,Eclipse 提供了一个功能强大且用户友好的开发平台,不仅集成了代码编辑、调试、构建等功能,还提供了大量的插件来扩展其功能。 #### 二、主要特性 1. **强大的编辑器**:Eclipse 的编辑器...

    no3-eclipse-part7

    这个部分可能是讲解Eclipse的高级特性和进阶用法。 【描述】中的"part7"暗示这是一个连续教程的章节,可能涵盖了前面部分的基础知识,并在此基础上深化学习。通常这样的序列教程会逐步介绍软件的不同方面,帮助用户...

    Using ANT in Eclipse

    - **外部ANT调用**: 除了直接在Eclipse内使用ANT,你还可以选择通过命令行调用ANT,然后在Eclipse中同步项目,以利用ANT的强大功能和灵活性。 - **自动构建**: 可以设置Eclipse监听源代码更改,当代码发生变化时...

    Eclipse培训手册

    提供一份详细的学习路径建议,包括基础操作、进阶技能、实战项目等,帮助初学者逐步提升Eclipse使用技能。 通过本培训手册,你可以全面了解Eclipse的各项功能,并学会如何在实际开发中高效利用Eclipse。无论是作为...

    Eclipse In Action

    4. **Chapter 4**: 这一章可能深入到Eclipse的调试功能,如断点设置、变量查看、线程分析以及单元测试的集成,帮助读者掌握高效调试技巧。 5. **Chapter 5**: 可能涵盖Eclipse的版本控制集成,如Git或SVN的使用,...

    eclipse-jee-2022-09-R-win32-x86-64.zip

    Eclipse以其模块化、可扩展性和强大的代码编辑、调试和版本控制功能而闻名。 2. **Eclipse JEE版本**: Eclipse JEE版本是专为JEE开发者设计的,包含了用于Web和企业级应用程序开发的工具集,如JavaServer Faces ...

    Eclipse中文教程(超清晰)

    总之,“Eclipse中文教程(超清晰)”是一个全面的指南,覆盖了从入门到进阶的所有关键知识点,适合所有层次的Eclipse用户。配合提供的PDF文件,学习者可以按照自己的节奏和需求进行深入学习,从而充分利用这个强大的...

    j2ee_eclipse教程

    8. **调试与测试**:教授如何利用Eclipse的调试器进行单步调试,设置断点,以及编写和运行单元测试。 9. **Eclipse插件**:可能会介绍一些增强Eclipse功能的插件,如Mylyn任务管理、PMD代码质量检查等。 10. **...

    Eclipse_教程_高清PDF

    本教程将深入探讨Eclipse的各个方面,旨在帮助初学者快速掌握其使用技巧,并为有经验的开发者提供进阶知识。 1. **Eclipse简介**: Eclipse是一个开放源代码的软件开发平台,最初由IBM公司开发,现在由Eclipse基金...

    Eclipse使用经典

    Eclipse是一款广泛使用的开源...这些知识点将帮助初学者快速上手Eclipse,同时也对有经验的开发者提供实用的进阶技巧。通过深入研究"Eclipse使用经典"中的内容,用户可以提升开发效率,更好地利用Eclipse的强大功能。

    Addison Wesley - Eclipse Distilled.chm

    总的来说,《Addison Wesley - Eclipse Distilled》是一本全面覆盖Eclipse基础知识和进阶技巧的指南,无论你是初涉Eclipse的新手还是寻求提升经验的开发者,都能从中受益匪浅。通过学习这本书,你可以更好地理解和...

    eclipse-cpp-2022-06-R-win32-x86_64.zip

    Eclipse C++ IDE 包含了一个强大的源代码级别调试器,支持断点、单步执行、查看变量值、调用堆栈等调试功能。这使得问题定位和调试过程变得直观和高效。 6. **项目管理** 通过Eclipse的工作区和项目管理功能,...

Global site tag (gtag.js) - Google Analytics