主要步骤。Debug As”->"Java Application"。双击设置断点,F5是跳进,F6是执行下一步,F7是跳出

在看这篇文章前,我推荐你看一下Eclipse 快捷键手册,我的eclipse版本是4.2 Juno。

先提三点

  • 不要使用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、在Main方法中停止
在Run/Debug设置中,我们可以按如下图所示的启用这个特性。程序将会在main方法的第一行停住
 
7、环境变量
我们可以很方便的在Edit Conriguration对话框中添加环境变量
 
8、Drop to frame
这个功能非常酷,是我第二个非常喜欢的功能,Drop to frame就是说,可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也回到那个时候。不一定是当前方法,可以点击当前调用栈中的任何一个frame跳到那里(除了最开始的那个frame)。主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一遍,即可以一遍又一遍地在那个你关注的上下文中进行多次调试(结合改变变量值等其它功能),而不用重来一遍调试到哪里了。当然,原来执行过程中产生的副作用是不可逆的(比如你往数据库中插入了一条记录)。
 
9、Step 过滤
当我们在调试的时候摁F5将进入方法的内部,但这有个缺点有的时候可能会进入到一些库的内部(例如JDK),可能并不是我们想要的,我们可以在Preferences中添加一个过滤器,排除指定的包。
 

10、进入、跳过、返回

其实这个技巧是debug最基本的知识。
  • F5-Step Into:移动到下一步,如果当前的行是一个方法调用,将进入这个方法的第一行。(可以通过第九条来排除)
  • F6-Step Over:移动到下一行。如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行。
  • F7-Step Return:继续执行当前方法,当当前方法执行完毕的时候,控制将转到当前方法被调用的行。
  • F8-移动到下一个断点处。

转载于:https://www.cnblogs.com/engineerLF/p/5393068.html

Eclipse调试Java程序技巧相关推荐

  1. 使用 Eclipse 调试 Java 程序的 10 个技巧

    第1条:不要调试太多 一个关于调试的疯狂声明作为开头.但它必须是要说的!尝试切分一下你那复杂的逻辑成多个独立的单元,并编写单元测试来检测你代码的正确性.我想像如下这样的流程应该是发生得非常频繁的--- ...

  2. 使用Eclipse调试Java程序的10个技巧

    你应该看过一些如<关于调试的N件事>这类很流行的帖子 .假设我每天花费1小时在调试我的应用程序上的话,那累积起来的话也是很大量的时间.由于这个原因,用这些时间来重视并了解所有使我们调试更方 ...

  3. eclipse java 程序调试_使用 Eclipse 调试 Java 程序的 10 个技巧

    - 友好的可读的对象 变量视图是使用对象的toString方法来现实对应的值.因为这个原因,如果提供友好的toString方法实现,对调试来说会非常有用.在javadoc中关于java.lang.Ob ...

  4. 用Eclipse调试Java程序的一些小技巧

    Created by Jerry Wang, last modified on Sep 11, 2015 1. 条件断点 选中断点,enable Conditional,以下图为例,意思是当j == ...

  5. 使用Eclipse开发和调试java程序

    刚刚学习Java不久,从C#到Java的语言跨度倒是没有多大,但是编译器从VS2013换成Eclipse,最开始还是有些许的不适应.因此做个笔记跟和我一样的初学者分享一下经验. 下面简单介绍一下Ecl ...

  6. eclipse远程调试Java程序

    远程调试tomcat服务 配置tomcat在catalina.sh中添加如下 CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler ...

  7. 怎么在eclipse中调试java程序?

    怎么在eclipse中调试java程序?关于这个问题我已经回答过很多次,但许多朋友可能还没有理解,本篇文章再来详细为大家解答一下怎么在eclipse中调试java程序?等相关问题,希望对大家有所帮助. ...

  8. gdb java,调用gdb来调试java程序

    错误没有这样的文件或目录,gdb 如果错误消息来自emacs,则表示未安装 gdb . 要解决此问题,请安装 gdb . 请注意 gdb 不是emacs的一部分,它是一个单独的程序 . 如果你得到一个 ...

  9. 简述如何编写java程序_1-4 简述 Eclipse 编写 Java 程序的流程。_学小易找答案

    [填空题]三四年级是英语入门初学阶段,更加注重( ). [单选题]不属于pos终端收银机的基本构成是( ). A . 显示器 B . 小票打印机 C . 键盘 D . 条形码电子称 [单选题]( ) ...

最新文章

  1. java pdf 书签_Java 展开或折叠PDF中的书签
  2. 信号完整性与电源完整性分析_电源完整性,信号完整性,你说哪个更重要一点?...
  3. html 提交按钮(input submit)
  4. .NET开源OpenID和OAuth解决方案Thinktecture IdentityServer
  5. directx sdk march 2009_小视科技极致轻量级模型人脸识别sdk支持活体检测总模型仅8M...
  6. 【基础】集成学习 (Ensemble Learning)
  7. 万物皆“数”:你最好学学微积分,它是上帝的语言
  8. gabor matlab pudn,matlab-Face-recognition 基于Gabor特征提取和人工智能的人脸检测系统 271万源代码下载- www.pudn.com...
  9. 中介效应分析与路径分析
  10. 计算机专业必读的经典书籍!!(建议收藏)
  11. Windows2016 主从CA(一、企业根CA与独立从CA)
  12. 软件工程经济学期末复习
  13. 微信罕见出手,再造一个万能的电商平台!
  14. kubelet源码 删除pod pod_workers.go(三)
  15. 新个人所得税EXCEL计算公式以及税后工资反算税前工资公式
  16. VBScript脚本运用(脚本程序与宿主程序的交互)
  17. stm32L451比较器使用
  18. 超简单的 VIM 练级攻略
  19. 时光雕刻着我们的青春
  20. 【ML30】Basic K-means clustering algorithm

热门文章

  1. 网站微端服务器,微端服务器
  2. thinkpad装linux无线网卡驱动,Thinkpad SL510 笔记本安装 Linux 无线网卡驱动
  3. 如何给自己的个人博客添加一个呆萌的live-2d博客精灵/看板娘
  4. concat mysql sql注入_Mysql中用concat函数执行SQL注入查询的方法
  5. html怎么设置字体竖直,CSS3 writing-mode 控制字体竖直显示
  6. IIS 7.5出现500.19错误解决方法
  7. 2.privite私有变量的意义
  8. 一道二叉树的题目--后序遍历+中序遍历确定二叉树
  9. 流式大数据计算实践(4)----HBase安装
  10. Java——集合经典面试题