先提三点

  • 不要使用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/jianmang/articles/6119997.html

Eclipse调试Java的10个技巧相关推荐

  1. Eclipse调试Java的10个技巧【转】

    clipse调试Java的10个技巧 先提三点 不要使用System.out.println作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志 1.条件断点 想象一下我们平时 ...

  2. Eclipse 调试器:零距离接触实战技巧

    Eclipse 调试器:零距离接触实战技巧 id="iframeu2606276_0" src="http://pos.baidu.com/ackm?rdid=26062 ...

  3. eclipse调试java web_eclipse调试web项目

    在Eclipse中开发Web项目的首要难题就是如何进行代码调试.本文简要说明一下在Eclipse中使用Tomcat和Jetty调试Java Web项目的方法. Tomcat插件方式.Eclipse自身 ...

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

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

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

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

  6. 10个利用Eclipse调试Java的常见技巧

    http://www.open-open.com/news/view/1ad9099 阅读目录 1. Conditional Breakpoint 2. Exception Breakpoint 3. ...

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

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

  8. 10 个利用Eclipse调试Java的常见技巧

    1. Conditional Breakpoint Hope we know how to add a breakpoint. If not, just click on the left pane ...

  9. Eclipse调试Java程序技巧

    主要步骤.Debug As"->"Java Application".双击设置断点,F5是跳进,F6是执行下一步,F7是跳出 在看这篇文章前,我推荐你看一下Ecli ...

最新文章

  1. 人机语言(MML: Man-Machine Language)
  2. 深度学习中的网络表征学习的算法目标简介
  3. KMP算法具体解释(转)
  4. Android开发--实现对话框(AlertDialog)
  5. Alpine?Distroless?Busybox?到底谁才是容器镜像的瑞士军刀?
  6. MySQL-Xtrabackup备份还原
  7. java超长字符序列化_String 字符串最长可以有多长?
  8. LeetCode 590. N叉树的后序遍历(后序遍历)
  9. 索尼首次展示其Airpeak电影摄制无人机
  10. C# 查农历 阴历 阳历 公历 节假日
  11. Android ProgressDialog 实现圆形进度对话框 和 水平进度对话框
  12. unity3d中串口的使用
  13. java树广度优先_如何在功能上生成树广度优先 . (使用Haskell)
  14. 平面设计图文混排要怎么做
  15. Android广告的Activity收集
  16. 3D扁平化高绩效五项管理PPT模板
  17. Python网络编程(一)
  18. python opencv 常用增强 dct变换+侵蚀+扩张+索贝尔算子+直方图均衡化+光照平衡+
  19. 6.1. Meanshift和Camshift
  20. linux服务器重启原因排查_Linux自动重启排查

热门文章

  1. [转]浅析GPU计算——cuda编程
  2. 软件工程专插本_2021年广东专插本8所学校招生专业(拟),华师停招专插本?...
  3. android thread 用法,我们如何在Android中使用runOnUiThread?
  4. c/c++语言程序设计题库,CD2_计算机实践《C/C++语言程序设计》_题目列表.doc
  5. apache在线升级yum_基于Redis实现在线游戏积分排行榜 - phyger
  6. java setstate,5.state更新流程(setState里到底发生了什么)
  7. php 加tab键,php 生成Tab键或逗号分隔的CSV
  8. android qq音乐api使用,QQ音乐API
  9. gdb 命令_gdb实用的调试技巧:启动方式、堆栈信息、单步调试
  10. python如何在没有环境的电脑上执行_没安装python的电脑可以运行python写的程序吗 python语言编写的程...