文档章节

eclipse 断点使用深入技能

明舞
 明舞
发布于 2016/03/15 16:21
字数 1219
阅读 34
收藏 0

原文:http://blog.jobbole.com/26435/

摘要:调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷。对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序。本文介绍了Java程序员必知的10个调试技巧,保证让你受益匪浅!

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

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

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

2.把所有涉及到的组件日志级别激活并使用

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

0.条件断点

如果你不知道如何添加断点,只需点击左边面板(行号前面)断点即被创建。在调试界面中,“断点”视图会把所有被创建的断点列出来。我们可以给它加一个布尔条件,也就是说,该断点会被激活并且如果布尔条件为真,就会执行该断点,否则将会跳过往下执行。

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

1.异常断点

在断点视图中,有一个J!标记按钮!我们可以使用该按钮来添加一个Java异常断点。例如,我们想让程序在遇到空指针异常(NullPointerException)时,仍然能继续调试,那么我们可以使用该按钮来添加一个异常断点!

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

2.监视点

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

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

3.评估/检查

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

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

4.修改变量值

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

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

5.在Main函数里面停止执行

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

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

6.环境变量

并不是在系统属性中添加环境变量,我们可以在编辑配置对话框中很方便地进行添加。

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

7.Drop to Frame

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

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

8.分布过滤

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

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

9.进入、跳出和返回

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

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

F6——跳出:移动到下一行。如果在当前行有方法调用,那么会直接移动到下一行执行。不会进入被调用方法体里面。

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

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

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

© 著作权归作者所有

明舞
粉丝 229
博文 424
码字总数 516555
作品 0
程序员
私信 提问
java程序员,你会在Eclipse IDE中调试代码吗?

  【IT168 评论】调试是所有Java程序员的必备技能。本文将从初学者指南开始,帮助程序员学习调试。在本文的第二部分,你还可以看到有关新版Eclipse Oxygen中如何调试的讲解。   调试是从...

it168网站
2017/07/07
0
0
eclipse调试java程序的九个技巧

九个技巧: 逻辑结构 条件debug 异常断点 单步过滤 跳到帧 Inspect expressions display 远程debug   最早开始用eclipse的debug的时候,只会F5 F6 F7 F8,甚至F7都不是很搞的明白是怎么用的...

modernizr
2014/06/23
1K
21
Eclipse中debug的使用技巧

在使用Eclipse调试Java代码过程中,自己多数情况下仅限于打断点-》调试两个动作。某然发现Eclipse提供了更高阶的一些调试方法,在此记录下来免得自己遗忘,顺便分享。 【图1】 1,行断点——...

gangzz
2013/07/09
4.8K
0
Eclipse 的 Debug 介绍与技巧

没有任何程序员能够一气呵成的写出没有任何 Bug 的代码,所以很多程序员有相当一部分时间是花费在 Debug 上的,程序调试是每个程序员必须面对的工作。如何使用 Eclipse 进行有效的、尤其是高...

城固如春
2016/10/10
36
0
Eclipse下搭建Python环境

PyDev for Eclipse 是一个功能强大且易用的 Eclipse Python IDE 插件。本文将向读者介绍 PyDev 开源项目及其安装配置方法,并在此基础上详细介绍如何利用 PyDev 插件把 Eclipse 变为功能强大...

方开金
2014/09/04
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部