文档章节

Eclipse调试Java程序的十大技巧 (Top 10 Java Debugging Tips with Eclipse)

奋斗到天明
 奋斗到天明
发布于 2015/08/27 17:46
字数 1236
阅读 189
收藏 1

在这篇教程中,我们将看到有关使用Eclipse去调试Java应用,调试能够帮助我们找到并修改应用的缺陷。我们将关注运行时问题,而不是编译时错误。有像GDB一样的命令行调试器也一样可用。在这篇教程中,我们关注基于GUI的调试器,通过这篇教程,我们会让我们最喜欢的IDE——Eclipse飞跑起来。虽然我们讲解的是Ecilpse,但是,这些技巧是十分通用,也适合大多数IDE调试,比如NetBeans。 在通读这篇文章之前,我推荐你去看看Eclipse的快捷键,他也十分有用。在写这篇文章时,我的Eclipse版本是Juno。

  • 别把System.out.println当做调试工具

  • 启用所有组件的详细的日志级别

  • 使用日志分析器去读取日志文件

  PS:通读这篇教程,五分钟即可。编写demo逐一实践这篇教程,半个小时足矣。但工作效率将大大提高。记住:“I hear and I forget, I see and I remember, I do and I understand.” 


1、Conditional Breakpoint 条件断点 期望你知道怎么添加断点。否则,只要点击左窗格(在行数的前面)断点就会被创建。在调试模式视角(debug prespective)下,‘断点’试图(Breakpoints view)会列出被创建的断点。我们能够给它添加布尔值(boolean)条件。如此,只有布尔值条件正确断点才会被激活并执行。否则将会跳过。

PS:这个就是有条件的断点。只有满足条件才会被调用。应该比较常用,不用多说。 

 2、Exception Breakpoint 异常断点 在断点视图有一个像J!标签的按钮,我们可以用它添加一个java的异常断点,比如当一个空指针异常抛出时,我们想让程序暂停,并允许调试,这时候我们就可以用这个方法。

3、Watch Point 观察点 这是一个我十分喜欢的功能,当选中的属性被访问或修改时,执行的程序将暂停并允许调试。在Outline视图中选择一个类变量,从右键菜单中选择切换观察点(Toggle Watchpoint.),这样就会创建为这个变量创建一个观察点,并在断点试图中列出。

PS:十分牛X的功能,之前还没用过,惭愧惭愧…… 

PS:另外方法也可以用 

 4、求值(显示、检验、观察) 在被选择的变量与表达式上用 Ctrl+Shift+d 或者Ctrl+Shift+i,就会显示值。在调试中,我们也可以添加一个永久的观察。那么他就会出现在表达式试图(Expressions view )中。

5、Change Variable Values 修改变量的值 在调试过程中,我们可以动态地修改变量的值:选择一个变量,进入变量视图,选择值、类型,按下Enter键。

6、Stop in Main 在主方法中停止 在运行/调试设定中(Run/Debug Settings),编辑配置( Configuration)中我们可以选中一个叫“Stop In Main”的复选框。如果这样,当我们调试程序,程序通过main方法启动时,将会停在mian方法的第一行。

PS:这个在框架启动的时候非常有用,我一直就想找到这样的方法…… 

7、相比去系统属性中添加环境变量,我们通过编辑配置对话框便利地添加变量。

8、Drop to Frame 进入到帧 这是第二个我喜欢的功能,在调试中,我们将控制权返回到调用栈的任意帧,但是变量已经的发生的改变不会重置。选择你想返回并重新调试的栈级,在调试工具栏中点击进入栈帧的按键,Eclipse 十分的酷!

PS:很强大的功能,选择栈帧可以重复调试,唯一的遗憾就是不能重置变量,这也与JVM有关。

  1. 9、Step Filter步过滤器 当我们步入方法(F5)时,我们可能进入外部的包(像 java),可是我们并不需要它,我们可以在首选项中,添加一个过滤器来排除某些包。

10、Step Into, Over and Return 步入、跳过、返回 我把这个放在最后一点,这是学习的第一件事:-)

  • F5 - 步入: 移动到下一步,如果当前行有一个方法调用,那么控制权就会进入该方法的第一行。

  • F6 - 跳过: 移动到下一步,如果当前行有一个方法调用,那么方法调用将在内部执行,只是将控制权移到下一行。

  • F7 - 返回: 如果是在方法内执行,那么控制权将移到当前方法被调用的调用行。

  • F8 - 跳转到下一个断点

PS:的确是基础……

© 著作权归作者所有

共有 人打赏支持
奋斗到天明
粉丝 18
博文 112
码字总数 82707
作品 0
昌平
程序员
eclipse远程debug,java项目

首先java项目要支付可远程调试得到启动时加入参数 启动远程调试 启用JMX,远程性能观察 eclipse配置 其中:host为远程java程序提供远程调试的IP,post为远程java程序提供远程调试的端口 使用 ...

有事没事
2014/12/05
0
0
5月份值得一看的 Java 技术干货!

5月又即将要离我们远去了,这个月有小长假51劳动节,有54青年节,有513母亲节,更有坑爹的520神马节?!! 废话不说,又到了总结上个月干货的时候了,这个月我们带来了各种Java技术干货,都是...

Java技术栈
05/31
0
0
java远程调试与JVM调优工具

Java远程调试方法: 1、被调试程序当作调试服务器(本地主动连接远程服务器,需要用如下命令让远程服务器jvm开启调试模式)。 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8765 ...

chape
2013/12/24
0
0
0基础学Java Java开发学习需要什么工具?

JDK是Java开发工具包 (Java Development Kit) 的缩写。它是一种用于构建在Java平台上发布的应用程序、applet 和组件的开发环境。其中包括了Java编译器、JVM、大量的Java工具以及Java基础API...

老男孩Linux培训
07/12
0
0
Java程序员应该知道的10个Eclipse调试技巧

Eclipse是众多Java程序员实用的开发工具,其中开发技巧也是繁多,但作为优秀的Java程序员,需要掌握最起码的调试技巧。 1 条件断点 2 异常断点 3 监视点 4 评估/检查 5 修改变量值 6 在Main函...

kouxunli1
2014/03/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用xtrabackup完成远程备份

转载收藏,以防丢失 需求 Can I backup remote databases from my local server02-27-2013, 06:17 AMHi, I am using mysqldump so far for taking daily backups of my Production datab......

阿dai
1分钟前
0
0
OSChina 周五乱弹 —— 心情超级好开始乱删库

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 手机党少年们想听歌,请使劲儿戳(这里) 把生命除去上班时间, 都开心不起来。 @真Skr小机灵鬼儿: 你才不孤独呢, 想想你早起, @for。:这...

小小编辑
2分钟前
0
2
为什么你的python版本一团糟?因为少了这个操作

坑人的版本 Python 的版本问题一直是个广被吐槽的黑点。以至于有人调侃说: Python 是世界上最好的两种语言! 在这里我要说明下,对于初学者来说,版本间的语法差异其实并不大。现在刚开始学...

crossin
昨天
2
0
Cannot forward after response has been committed

声名:转载自CSDN 通过toncat启动服务器,可以正常登陆访问,登陆进去选择子系统的时候点击登陆的时候,可是去又回到了登陆界面,如此反复就是不能够进入子系统,查看后台报的错误: java.la...

小橙子的曼曼
昨天
2
0
shell编程(告警系统邮件引擎、运行告警系统)

告警系统邮件引擎 1.如果要使用邮件引擎功能,需要调用mail.py文件,放到/usr/local/sbin/mon/mail/目录下即可,具体内容如下: #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,s...

蛋黄_Yolks
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部