在本教程中,我们将看到使用Eclipse调试Java应用程序。调试可以帮助我们识别和解决应用程序中的缺陷。我们将重点放在运行时间的问题,而不是编译时错误。有提供像gdb的命令行调试器。在本教程中,我们将集中在基于GUI的调试,我们把我们最喜爱的IDE Eclipse来运行,通过本教程。虽然我们说的Eclipse,点大多是通用的,适用于调试使用的IDE像NetBeans。
在看这篇文章前,我推荐你看一下Eclipse
快捷键手册,你也可以到这儿:下载PDF文件我的eclipse版本是4.2
Juno。
0.三点特别提醒:
-
不要使用System.out.println作为调试工具
-
启用所有组件的详细的日志记录级别
-
使用一个日志分析器来阅读日志
1.条件断点
想象一下我们平时如何添加断点,通常的做法是双击行号的左边。在debug视图中,BreakPoint View将所有断点都列出来,但是我们可以添加一个boolean类型的条件来决定断点是否被跳过。如果条件为真,在断点处程序将停止,否则断点被跳过,程序继续执行。
2.异常断点
在断点view中有一个看起来像J!的按钮,我们可以使用它添加一个基于异常的断点,例如我们希望当NullPointerException抛出的时候程序暂停,我们可以这样:
3.观察点
这是一个很好的功能,他允许当一个选定的属性被访问或者被更改的时候程序执行暂停,并进行debug。最简单的办法是在类中声明成员变量的语句行号左边双击,就可以加入一个观察点。
4.查看变量
在选中的变量上使用Ctrl+Shift+d 或者 Ctrl+Shift+i可以查看变量值,另外我们还可以在Expressions View中添加监视。
5.更改变量的值
我们可以在Debug的时候改变其中变量的值。在Variables View中可以按下图所示操作。
6.在主方法停止
在Run/Debug设置中,我们可以按如下图所示的启用这个特性。程序将会在main方法的第一行停住
7.环境变量
我们可以很方便的在Edit Conriguration对话框中添加环境变量
8.跳出函数到选定层
这个功能非常酷,是我第二个非常喜欢的功能,Drop to frame就是说,可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也回到那个时候。不一定是当前方法,可以点击当前调用栈中的任何一个frame跳到那里(除了最开始的那个frame)。主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一遍,即可以一遍又一遍地在那个你关注的上下文中进行多次调试(结合改变变量值等其它功能),而不用重来一遍调试到哪里了。当然,原来执行过程中产生的副作用是不可逆的(比如你往数据库中插入了一条记录)。
9.分步过滤
当我们在调试的时候摁F5将进入方法的内部,但这有个缺点有的时候可能会进入到一些库的内部(例如JDK),可能并不是我们想要的,我们可以在Preferences中添加一个过滤器,排除指定的包。
10.跳入,跳过和返回
其实这个技巧是debug最基本的知识。
-
-
F5-Step Into:移动到下一步,如果当前的行是一个方法调用,将进入这个方法的第一行。(可以通过第九条来排除)
-
-
F6-Step Over:移动到下一行。如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行。
-
-
F7-Step Return:继续执行当前方法,当当前方法执行完毕的时候,控制将转到当前方法被调用的行。
-
F8-移动到下一个断点处。
在本教程中,我们将看到使用Eclipse调试Java应用程序。调试可以帮助我们识别和解决应用程序中的缺陷。我们将重点放在运行时间的问题,而不是编译时错误。有提供像gdb的命令行调试器。在本教程中,我们将集中在基于GUI的调试,我们把我们最喜爱的IDE Eclipse来运行,通过本教程。虽然我们说的Eclipse,点大多是通用的,适用于调试使用的IDE像NetBeans。
在看这篇文章前,我推荐你看一下Eclipse
快捷键手册,你也可以到这儿:下载PDF文件我的eclipse版本是4.2
Juno。
0.三点特别提醒:
-
不要使用System.out.println作为调试工具
-
启用所有组件的详细的日志记录级别
-
使用一个日志分析器来阅读日志
1.条件断点
想象一下我们平时如何添加断点,通常的做法是双击行号的左边。在debug视图中,BreakPoint View将所有断点都列出来,但是我们可以添加一个boolean类型的条件来决定断点是否被跳过。如果条件为真,在断点处程序将停止,否则断点被跳过,程序继续执行。
2.异常断点
在断点view中有一个看起来像J!的按钮,我们可以使用它添加一个基于异常的断点,例如我们希望当NullPointerException抛出的时候程序暂停,我们可以这样:
3.观察点
这是一个很好的功能,他允许当一个选定的属性被访问或者被更改的时候程序执行暂停,并进行debug。最简单的办法是在类中声明成员变量的语句行号左边双击,就可以加入一个观察点。
4.查看变量
在选中的变量上使用Ctrl+Shift+d 或者 Ctrl+Shift+i可以查看变量值,另外我们还可以在Expressions View中添加监视。
5.更改变量的值
我们可以在Debug的时候改变其中变量的值。在Variables View中可以按下图所示操作。
6.在主方法停止
在Run/Debug设置中,我们可以按如下图所示的启用这个特性。程序将会在main方法的第一行停住
7.环境变量
我们可以很方便的在Edit Conriguration对话框中添加环境变量
8.跳出函数到选定层
这个功能非常酷,是我第二个非常喜欢的功能,Drop to frame就是说,可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也回到那个时候。不一定是当前方法,可以点击当前调用栈中的任何一个frame跳到那里(除了最开始的那个frame)。主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一遍,即可以一遍又一遍地在那个你关注的上下文中进行多次调试(结合改变变量值等其它功能),而不用重来一遍调试到哪里了。当然,原来执行过程中产生的副作用是不可逆的(比如你往数据库中插入了一条记录)。
9.分步过滤
当我们在调试的时候摁F5将进入方法的内部,但这有个缺点有的时候可能会进入到一些库的内部(例如JDK),可能并不是我们想要的,我们可以在Preferences中添加一个过滤器,排除指定的包。
10.跳入,跳过和返回
其实这个技巧是debug最基本的知识。
-
-
F5-Step Into:移动到下一步,如果当前的行是一个方法调用,将进入这个方法的第一行。(可以通过第九条来排除)
-
-
F6-Step Over:移动到下一行。如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行。
-
-
F7-Step Return:继续执行当前方法,当当前方法执行完毕的时候,控制将转到当前方法被调用的行。
-
F8-移动到下一个断点处。
分享到:
相关推荐
eclipse调试java的10个技巧,eclipse调试java的10个技巧.
序,或者在一个抽象父类中调试某些功能,而你只关注其 中一个具体的实现。你可以在断点视图中设置条件, 或者通过代码旁边的蓝色断点标记的右键菜单("Breakpoint Properties")设置。你可以在条件代码片段为 true...
本书讲述了使用Eclipse调试Java程序的10个技巧
1、断点视图 : 条件断点 2、变量视图:展示逻辑结构 3、变量视图:更改变量值 等
让想成为一个顶级程序员,学会调试异常是必不可少的。Eclipse调试常用技巧 -为你解决java程序中的出现的异常。
Eclipse 调试器; Debug 视图;调试 Java 语言程序;远程调试;Eclipse快捷键调试
Eclipse调试常用技巧. JAVA 调试
该文档韵涵eclipse调试的很多技术,不会调式的可以进去看看,高手请飘过
帮助快速掌握Eclipse的使用方法,提高代码编写和调试效率。
在产品的测试阶段,开发人员应该经常会遇到一些很烦恼的问题,在开发环境不能重现问题,而在测试环境就可以重现问题。有的开发人员不惜花上大把的时间去拷贝测试环境代码...下面来描述下怎么适配eclipse远程调试环境。
Eclipse调试方法入门,java debug技术
eclipse debug 调试技巧入门 基本够用
很实用的一些小技巧 帮助大家更方便快捷的使用eclipse工具
调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷。对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序...本文介绍了Java程序员必知的10个调试技巧,保证让你受益匪浅!
java的调试技巧,应该很实用的,主要是针对Eclipse的操作讲述,讲述了多种调试技巧
断点大家都比较熟悉,在Eclipse Java编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。 条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。 在...
在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面
调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷。对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序...本文介绍了Java程序员必知的10个调试技巧,保证让你受益匪浅!