在本文中,作者将使用大家经常使用的的开发工具Eclipse来调试Java应用程序。但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运行时上面。

在開始之前,推荐大家去看看Eclipse shortcuts这篇文章,它将会给你带来非常多方便。在本文中使用的是Eclipse Juno版(Eclipse 4.2),在開始前给大家提3点建议!

不要使用System.out.println作为调试工具

把全部涉及到的组件日志级别激活并使用

使用日志分析器来读取日志

1.条件断点

假设你不知道怎样加入断点,仅仅需点击左边面板(行号前面)断点即被创建。在调试界面中。“断点”视图会把全部被创建的断点列出来。我们能够给它加一个布尔条件,也就是说。该断点会被激活而且假设布尔条件为真。就会运行该断点。否则将会跳过往下运行。

2.异常断点

在断点视图中,有一个J!标记button!我们能够使用该button来加入一个Java异常断点。

比如,我们想让程序在遇到空指针异常(NullPointerException)时,仍然能继续调试。那么我们能够使用该button来加入一个异常断点!

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

3.监视点

这是一个非常好的功能,当选定的属性訪问或改动程序时,程序会停止运行并同意进行调试。在Outline视图中选择一个类变量并从上下文菜单中选择切换监视点。属性监视点将会被创建,在断点(Breakpoints)视图中会把全部监视点用列表的形式显示出来。

4.评估/检查

按Ctrl+Shift+D或者Ctrl+Shift+I来显示选定变量或者表达式的值。我们也能够给一个变量或表达式加入永久观察点。当程序在调试时,这些观察点就会在表达式视图(Expression view)中显示出来。

5.改动变量值

在调试过程中,我们能够改动变量值。先选好一个变量然后进入变量视图(Variables view)。依据变量类型在其相应的Value列里输入值就可以。

6.在Main函数里面停止运行

在运行/调试设置中,编辑配置对话框中有“Main”这个选项卡,我们能够勾选“Stop in main”这个复选框。假设选中。那么在调试一个基于main方法的Java程序时,程序会在main方法第一行位置便停止运行。

7.环境变量

并非在系统属性中加入环境变量,我们能够在编辑配置对话框中非常方便地进行加入。

8.Drop to Frame

这也是我最喜欢的一个功能。调试期间。能够又一次跳到调用堆栈框架的開始处运行。而且变量值也会回到最初。依据回档调整堆栈的深度。这个功能的主要用途是全部变量状态能够高速回到方法開始运行时候的样子。然后你能够又一次进行一遍一遍运行,这样就能够在你关注的地方进行多次调试,可是在运行过程中也会产生一些副作用。比方插入到数据库里面的数据是无法删除的!

9.分布过滤

当我们进入(F5)方法的时候,我们还能够訪问其外部库(比方java.*),我们可能不需要这个库,就能够在Perference选项卡页面加入一个过滤器来排除这个包。

10.进入、跳出和返回

我把这个放在最后一点,在调试过程中,这些是必需要了解(最好掌握)的东西:

F5——进入:移动到下一个步骤,假设当前行有一个方法调用,该控件将会跳转到被调用方法的第一行运行。

F6——跳出:移动到下一行。假设在当前行有方法调用,那么会直接移动到下一行运行。

不会进入被调用方法体里面。

F7——返回:从当前方法中跳出。继续往下运行。

F8——移动到下一个断点处运行。

Java程序猿必知的10个调试技巧的更多相关文章

  1. Java程序员应该知道的10个调试技巧

    试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序.但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运 ...

  2. (转) Java程序员应该知道的10个调试技巧

    原地址:http://www.csdn.net/article/2012-09-03/2809495-java-debugging-tips-with-eclipse 调试可以帮助识别和解决应用程序缺 ...

  3. (转)Java程序员应该知道的10个调试技巧

    (转自 酷勤网 – 程序员的那点事!http://www.kuqin.com/) 试可以帮助识别和解决应用程序缺陷,在本文中,作者将使用大家常用的的开发工具Eclipse来调试Java应用程序.但这里 ...

  4. Java程序员必须知道的10个调试技巧

    调试可以帮助识别和解决应用程序缺陷,在本文中,将使用大家常用的的开发工具Eclipse来调试Java应用程序. 但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE,我们会把重点放在运 ...

  5. 每一个程序猿必知之SEO

    似乎由于受这篇文章的影响 http://katemats.com/what-every-programmer-should-know-about-seo/ 于是我也觉得我应该写一个每一个程序猿必知之S ...

  6. 程序猿必知必会Linux命令之awk

    前言 对于一名专业的程序员来说,Linux相关知识是必须要掌握的,其中对于文本的处理更是我们常见的操作,比如格式化输出我们需要的数据,这些数据可能会来源于文本文件或管道符,或者统计文本里面我们需要的数 ...

  7. Java程序员应该知道的10个Eclipse调试技巧

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

  8. Java程序员应该知道的10个面向对象理论

    英文原文:10-object-oriented-design-principles 面向对象理论是面向对象编程的核心,但是我发现大部分 Java 程序员热衷于像单例模式.装饰者模式或观察者模式这样的设 ...

  9. Java程序员应当知道的10个面向对象设计原则

    面向对象设计原则是OOPS编程的核心, 但我见过的大多数Java程序员热心于像Singleton (单例) . Decorator(装饰器).Observer(观察者) 等设计模式,而没有把足够多的注 ...

随机推荐

  1. ORA-01031: 权限不足

    1.错误描写叙述 ORA-01031: 权限不足 2.错误原因 SQL> create user yhd identified by scott account unlock; create u ...

  2. 一些VPS

    https://www.perfectip.net                                        5美元/1C/4G/20G/10Thttps://www.hetzne ...

  3. Menu-actionBarMenu字体颜色修改

    经常会遇到对menu字体颜色进行修改的情况,今天就遇到了一个.就是在action上有一个menu是黑色的,想要改成白色.方法如下 <style name="Email.Theme&qu ...

  4. 记号(notation)的学习

    数学的记号(notation) 记号具体代表什么含义,取决于你的定义: 比如这样的 d⃗  一个向量,每个分量 d(i) 表示的是从初始结点 v 到当前节点 vi 的最短路径:也即这样的一个向量的每一 ...

  5. Catch Me If You ... Can't Do Otherwise--转载

    原文地址:https://dzone.com/articles/catch-me-if-you-cant-do-otherwise I don't know whether it's an anti- ...

  6. Spring中JDBCTemplate的入门

    Spring是IOC和AOP的容器框架,一站式的框架 连接数据库的步骤:[必须会写] Spring当中如何配置连接数据库? 第一步配置核心配置文件: <?xml version="1. ...

  7. 利用日志使管理Linux更轻松

    利用日志使管理Linux更轻松 操作系统的日志主要具有审计与监测的功能,通过对日志信息的分析,可以检查错误发生的原因,监测追踪入侵者及受到攻击时留下的痕迹,甚至还能实时的进行系统状态的监控.有效利用日 ...

  8. MySQL各个版本的区别

     文章出自:http://blog.sina.com.cn/s/blog_62b37bfe0101he5t.html 感谢作者的分享 MySQL 的官网下载地址:http://www.mysql. ...

  9. bootstrap课程8 bootstrap导航条在不同设备上的显示效果如何

    bootstrap课程8 bootstrap导航条在不同设备上的显示效果如何(多去看参考手册) 一.总结 一句话总结:在手机端或者平板端或者显示不够的话就缩起来了.(多去看参考手册) 二.bootst ...

  10. C#程序集引入无效的解决方法

    在项目类库中已经引用了相关了类库,生成解决方案也没问题,但是到了后置代码,通过using引用其他类库的时候,再生成解决方案或者生成单个类库,就会报“未能找到类型或命名空间“xxx"(是否缺少 ...