玩转 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 ...
随机推荐
- 转 C++拷贝构造函数详解
C++拷贝构造函数详解 一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一 ...
- saltstack 模块学习之 state
入口文件top.sls 三要素环境:通过file-roots指定目标主机:可以使用通配符*配置文件路径:路径分割符为. 比如a.mysql 表示在环境指定的路径下有个a目录,a目录下有个mysql. ...
- centos 7 安装golang1.12.5
本文主要介绍服务器端环境配置,开发环境是window的话可以参考 https://www.cnblogs.com/nickchou/p/10765743.html 方式一.用yum安装 1.用yum指 ...
- 正确地使用GIT FORK
摘自github官方网站,稍后我将抽空翻译. Fork a repo https://help.github.com/articles/fork-a-repo/ Syncing a fork http ...
- [Python Cookbook] Numpy Array Slicing and Indexing
1-D Array Indexing Use bracket notation [ ] to get the value at a specific index. Remember that inde ...
- 通信API、使用Web Workers处理线程
1.跨文档消息传输 要想接受从其他的窗口那里发过来的消息,就必须对窗口对象的message事件进行监视. w ...
- java 相关软件使用趋势
http://www.baeldung.com/java-in-2017 https://mp.weixin.qq.com/s?__biz=MzI4NjYwMjcxOQ==&mid=224 ...
- html特殊字符编码问题导致的细节问题
今天在写前端html时,一个a标签的链接地址,由于链接地址需要给后台传参数,因此带了部分url参数: 在html源码里写的连接地址是: http://域名/bidder/noticesearch?no ...
- 【spring boot logback】日志logback格式解析
日志logback格式解析 logback官网 格式解析 https://logback.qos.ch/manual/layouts.html#ClassicPatternLayout 官网格式解析有 ...
- python遍历当前目录并删除某文件
#coding: utf-8 """ this programe is to clear driverlog below this dir __author__:the_ ...