Eclipse 的断点使用(引用)

详解Eclipse断点(引用
 http://www.blogjava.net/jiangshachina/archive/2011/11/20/364367.html)

大家肯定都用过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的各种断点,可以把很好地帮助我们分析程序,定位问题。

时间: 2024-08-19 08:57:08

Eclipse 的断点使用(引用)的相关文章

eclipse通过classpath variable引用类库

众所周知,eclipse的project bulid path中可以引用第三方类库(如图1), 图1 但是这种方式有个缺点:对类库的引用是通过绝对路径.如果有两台电脑(办公室1台.家1台),很可能造成因为类库的路径不同导致eclipse报错. 但事实上,两台电脑中只是libraries目录的绝对路径不同,从libraries开始的子目录完全同步. 只要满足这个条件,就可以用下面的方式引入类库: 1.建立classpath variable.在window->preferences中的建立新的cl

Java Eclipse进行断点调试

如何调试Java程序? 大家最开始学习Java,都会觉得IDE调试好高端有木有,其实很简单了. 下文会尽量简单直观的教会你在Eclipse中调试,其他的IDE调试步骤也是类似的. 1.在你觉得有错的地方设置断点. 在代码行数前,点击右键,注意是右键,然后选择Toggle Breakpoint. 你可能会问,我如何知道在哪儿放置断点? 如果对这个问题完全没有感觉,你完全可以多打几个断点,单步调试直到找到异常,只是多花一点时间而已,而且这样可以更深入了解程序的执行过程! 当然,如果你大致可以直到哪里

Eclipse debug断点调试代码时出现source not found问题

偶尔调试代码的时候会出现这种事情,之前并没有特别注意,今天稍微搜集一下相关资料: 1.跳转到的代码的确没有源码,下载源码后选择源码位置后便会正常显示源码. 2.源码和class文件不一致.即便勾选了auto build选项,eclipse依然存在class没有实时编译的情况,致使我们当前的代码和编译的class文件不统一,导致debug断点时定位源码失败.此时只要重新build或是重新clean package一下就好了.

解决在eclipse中无法查看引用jar包的源码

第一步:下载JAD . jad官方地址的官方下载地址是: http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/JAD.shtml#download 第二步:下载JADClipse插件. 官方链接: http://nchc.dl.sourceforge.net/project/jadclipse/jadclipse3.3/3.3.0%20%28for%20Eclipse%20_%3D3.3M6%2

eclipse打断点的调试

对于程序员来说,最重要的技能之一其实是在发现问题的时候,定位问题,然后才能解决问题. 发现问题的能力十分的重要.而debug的水平就是基础. 打断点之后,操作相应的步骤,然后eclipse会跳转到相应的程序行,然后叜一步一步的F6,调试代码 这里记住以下快捷键. F5:走到某一步,十是个函数,按下F5,可以进入到函数之中. F6:逐步往下走 F7:step return,返回到代用的地方,例如你按F5,进入到函数内部,想要返回调用处.快捷键,选定某个方法,按CTRL+SHIFT+G,可以找到在哪

eclipse调试断点【转载】

该片博文是转载他人的博客,原博客地址:http://blog.csdn.net/maritimesun/article/details/7815903 作为开发人员,掌握开发环境下的调试技巧十分有必要.去年就想把关于Eclipse断点调试总结下了,由于对时间的掌控程度仍需极大提高,结果拖到今年才写了此篇博文.关于java调试技术还有很多,如Java Debug Interface等,依据具体项目的需要,还有很多值得去研究和学习的.该博文仅就Eclipse断点调试技巧做下总结,不足够的地方还请大牛

解决Eclipse Debug 断点调试的source not found问题

写完代码进行调试的时候,经常会用到断点调试,一步步检测问题,但有时候eclipse有时候无法进入断点,这样就失去了断点的意义,原因是debug无法找到该项目的源代码,解决方法如下 1,打开debug Configurations 2,选择Maven Build下的相关项目,单击打开,然后选择source页面,(不要选择该页面下面的search for duplicate source files on the path ) 3,点击add按钮,选择project,选择你的项目,点击ok 原文地址

eclipse无法断点调试JDK源码的问题

最近换了新版的eclipse,在jdk源码里面,打断点发现无法进入源码调试,程序直接跳过,已查资料发现自己eclipse配置的是jre环境的. 此处要配成jdk目录才有效 打开preferences,点击java ,在点击installed JRES 选中jre的目录,我这里只有一个,是我jdk的安装目录, 将JRE home配置成jdk的目录, 点击Restore Default就可以调试了. 这里简单说下jre和jdk的区别. JRE: Java Runtime Environment JD

Eclipse web工程图片引用

工程目录结构及图片的引用方法 这里需要注意一个问题:程序中文件名后缀的大小写一定要与资源文件后缀名的大小写相同(而在其它,比如C++程序中则不然) 一些操作技巧: 当在images文件夹中添加图片文件时,要记得refresh 在当图片文件更改时,要记得clean以下server