玩转 eclipse:[1]如何快速找错-debug
本文摘自百度经验
原文地址如下:
eclipse是软件开发人员必备的IDE之一.
由于语言障碍或者是经验不足,许多刚刚新手并不清楚如何高效使用eclipse. 甚至使用eclipse很久的朋友也对eclipse的功能不甚了解.
为此我总结了eclipse常用的技巧,希望通过一系列的总结让eclipse真正成为开发朋友们的利器!
程序错误通常有2种,一种是运行时错误,这种错误ide会抛出异常,我们可以根据异常寻找问题.
另外一种就不那么容易了, 这种错误是逻辑性的. 程序不报错,但是结果往往不是我们期待的. 对于这种错误,debug是个好主意.
本节采取示例的方式来教会大家使用debug.
下面进入正文:
错误的范例程序是要做阶乘(n! = n * (n-1) * (n-2) *... * 1) 初次运行结果如下:
设定岔断点(Breakpoints)
断点就是你希望程序运行到哪暂停,断点往往就是你觉得程序可能出错的地方.
设定断点的办法很简单,在你认为出错的那一行的行号前面双击即可.如图:
运行debug
「Run」→「Debug As」→「Java Application」(或是按 旁边的箭头选「Debug As」→「Java Application」),还开启「Debug」视景。 开启后debug视图会有点让你不适应. 关于debug的视图介绍,请参看我的另外一篇介绍----
怎样使用eclipse系列教程(1-配置自己的视图布局)
进入调试模式
使用调试---查看自定义表达式的值
在本例中,我们想实时查看一下当前表达式value * factorial(value - 1)到底是多少,可以如下图这样去做!
让程序一步一步慢慢运行!
step into(步入) 快捷键是 F5
step over(步过) 快捷键是 F6
step return (返回) 快捷键是 F7
继续执行
我们已经做过程序逐步除错,还可以继续做下去,但是每次呼叫 factorial(),每一列程序代码都得跑一遍,实在有点烦。
可以改成让程序一直跑,直到碰到岔断点。要这样做只要按「Debug」视图中 Resume按钮。
在这样做之前,也可以设定去监看我们想要监视的变量。在编辑器中对该变量按右键,选 Watch 的选项,把该变量加到「Expressions」视图中。
现在点 Resume 按钮,程序会继续执行,直到碰到下一个岔断点,看一下 value 的值为 3 之后,会发现扔然在同一个 factorial()之内,只要重复不断按 Resume 按钮,可以看出 value 值的变化。
设定岔断点的 Hit Count
如果从程序开始启动计算,这个 factorial()方法要跑 6 次,所以需要按 6 次 Resume 按钮;也可以设定 Hit Count 来节省时间
分析问题出现的原因!
修改测试,完成debug!
玩转 eclipse:[1]如何快速找错-debug的更多相关文章
- m_Orchestrate learning system---十五、如何快速查错
m_Orchestrate learning system---十五.如何快速查错 一.总结 一句话总结: a.删除代码法 b.添加提示代码法 c.仔细看错误信息 1.评论板块和论坛板块的实时更新? ...
- 解决eclipse配置Tomcat时找不到server选项(Mac通用)
集成Eclipse和Tomcat时找不到server选项: 按照网上的步骤如下: 在Eclipse中,窗口(window)——首选项(preferences)——服务器(Server)——运行时环境( ...
- 【转】Eclipse下启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does not exist.
转载地址:http://blog.csdn.net/jnqqls/article/details/8946964 1.错误: 在Eclipse下启动tomcat的时候,报错为:Eclipse下启动to ...
- 锋利的js之妈妈再也不用担心我找错钱了
用js实现收银功能. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <hea ...
- 解决eclipse配置Tomcat时找不到server选项
集成Eclipse和Tomcat时找不到server选项: 按照网上的步骤如下: 在Eclipse中,窗口(window)——首选项(preferences)——服务器(Server)——运行时环境( ...
- eclipse运行hadoop程序报错:Connection refused: no further information
eclipse运行hadoop程序报错:Connection refused: no further information log4j:WARN No appenders could be foun ...
- eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。
eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接.全部报错信息如下: Exception in thread & ...
- windows下Eclipse操作MapReduce例子报错:Failed to set permissions of path: \tmp\hadoop-Jerome\mapred\staging\
windows下Eclipse操作MapReduce例子报错: 14/05/18 22:05:29 WARN util.NativeCodeLoader: Unable to load native- ...
- eclipse 中新建文件报错The superclass "javax.servlet.http.HttpServlet" was not found on the Java Buil
在eclipse中新建文件报错错误提示如下: The superclass "javax.servlet.http.HttpServlet" was not found on th ...
随机推荐
- JavaScript文本收缩展开 showdetail
原文发布时间为:2009-11-15 -- 来源于本人的百度文章 [由搬家工具导入] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran ...
- java网络编程学习笔记(二):socket详解
1.Socket有多种构造方法,大多数构造方法在构造的时候就指定了连接的主机和端口号.当客户端的构造方法与服务器连接的时候,可能需要等待一段时间,因为需要建立连接.默认情况下,Socket的构造方法会 ...
- Struts2的使用注解配置Action(零配置)
1.首先引入struts2注解的jar包:struts2-convention-plugin.jar ------------------------------第一种方式-------------- ...
- Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法
Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法跟Ubuntu 12.04 - 13.10 以及jellybean编译环境配置没多大区别, 顺便记录下而已: Ub ...
- win7 64位数据库连接问题:在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
通过ODBC/JDBC连接程序和数据库时,异常报错“在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”的解决办法 本机:64位win7,64位JDK,做Web实验用32位myeclipse ...
- Codeforces Gym101473 E.Dangerous Dive (2013-2014 ACM-ICPC Brazil Subregional Programming Contest)
代码: 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmat ...
- extern "C"解析
转自大牛的解析(非常具体详细)http://www.cnblogs.com/skynet/archive/2010/07/10/1774964.html 我做个简单的标注方便以后自己查看: 在用C++ ...
- Educational Codeforces Round 34 A. Hungry Student Problem【枚举】
A. Hungry Student Problem time limit per test 1 second memory limit per test 256 megabytes input sta ...
- Bystack的高TPS共识算法
共识算法是分布式系统保证节点数据状态一致性的方法,在区块链的共识算法分POW(工作量证明)和POS(权益证明)两大类.第一类POW模式是在公链项目中运用的最广泛应用的共识算法,比特币长达10年的运行已 ...
- MapReduce1 工作机制
本文转自:Hadoop MapReduce 工作机制 工作流程 作业配置 作业提交 作业初始化 作业分配 作业执行 进度和状态更新 作业完成 错误处理 作业调度 shule(mapreduce核心)和 ...