浅谈1——用Eclipse调试JAVA程序
本篇博客主要介绍如何用Eclipse调试简单的JAVA程序。
1、如下图,一个简单的JAVA程序

2、设置断点。 方法:选中需设置断点的行代码,按快捷键Ctrl+Shift+B,设置断点;
断点设置成功该行会变成绿色。如上图。
3、进入调试页面。点击爬虫图标进入调试页面。


4、下图左侧图标为Step Into, 中间图标为Step Over,右侧的为Step Return;
- Step Into:单步执行,遇到子函数就进入并且继续单步执行。
- Step Over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。
- Step Return:返回上一步执行过程。
(注:对调试操作理解尚浅,如有错误,欢迎指出。)

5、接下来用Step Into(单步执行)进行调试。下图为各变量及其值。(调试过程中值会变化)
this.x, this.y, this.z 为当前对象的属性x,y,z;初值均为0;
灰色的x,y,z表示形参,传递的参数分别为2,3,5;

6、点击Step Into,绿色光标移到第12行,即程序在执行第12行。
分析调试是否正确:首先程序从19行开始执行,创建了一个AddClass类的对象class1;
调用的构造函数参数为三个,故进入下图所示构造函数。

7、继续进行单步执行,光标从第12行进入第8行。此时this.x, this.y, this.z的值依然为0。


8、继续进行Step Into,光标进入第4行;注意,此时程序不进入下图的构造函数,而是转向第3行加载属性。


9、加载完属性后,程序进入第5行。

10、第5行执行完毕后,绿色光标转入第9行;
注意:此时,this.x=2, this.y和this.z依然为0。


11、第9行执行完毕后,此时this.y也被赋值为3;

12、之后程序进入13行,对this.z进行赋值。this.z的值为5。


13、到这里就完成了对class1对象的初始化;class2,class3对象的初始化过程与class1一样,这里不再重复。
以上只是介绍对象初始化过程中程序具体的执行情况,并没有介绍add方法的调用过程。本篇博客主要目的是让小白(本人)学会简单调试,故add方法的
具体调用并没有给出。
如果文章中有错误的地方,欢迎留言。
浅谈1——用Eclipse调试JAVA程序的更多相关文章
- eclipse调试java程序的九个技巧
转:http://www.cnblogs.com/lingiu/p/3802391.html 九个技巧: 逻辑结构 条件debug 异常断点 单步过滤 跳到帧 Inspect expressions ...
- (转)eclipse调试java程序的九个技巧
转自:http://www.cnblogs.com/lingiu/p/3802391.html 九个技巧: 逻辑结构 条件debug 异常断点 单步过滤 跳到帧 Inspect expressions ...
- 使用 Eclipse 调试 Java 程序的 10 个技巧
你应该看过一些如<关于调试的N件事>这类很流行的帖子 .假设我每天花费1小时在调试我的应用程序上的话,那累积起来的话也是很大量的时间.由于这个原因,用这些时间来重视并了解所有使我们调试更方 ...
- 使用 Eclipse 调试 Java 程序的技巧
你应该看过一些如<关于调试的N件事>这类很流行的帖子 .假设我每天花费1小时在调试我的应用程序上的话,那累积起来的话也是很大量的时间.由于这个原因,用这些时间来重视并了解所有使我们调试更方 ...
- Eclipse 调试 Java 程序的技巧
- 断点视图 : 条件断点 如果你只对应用中的某部分感兴趣的话,这个功能非常有用.例如,如果你要在第13次循环的时候检查程序,或者在一个抽象父类中调试某些功能,而你只关注其中一个具体的实现.你可以在断 ...
- 【转】使用 Eclipse 调试 Java 程序的 10 个技巧
你应该看过一些如<关于调试的N件事>这类很流行的帖子 .假设我每天花费1小时在调试我的应用程序上的话,那累积起来的话也是很大量的时间.由于这个原因,用这些时间来重视并了解所有使我们调试更方 ...
- Eclipse调试Java程序技巧
主要步骤.Debug As"->"Java Application".双击设置断点,F5是跳进,F6是执行下一步,F7是跳出 在看这篇文章前,我推荐你看一下Ecli ...
- 如何使用加多宝(jdb)在linux下调试Java程序
毕业时写了一段时间的C,那时候调试使用gdb,后来转了java,当时就想java程序怎么调试,找了一下,果然,那就是jdk自带的jdb windows里是这样的 Linux下是这样的 一般我在linu ...
- windows下使用eclipse调试C程序
一.环境描述 Eclipse IDE for C/C++ Developers version 4.4.0 MinGW gcc/g++ version 4.8.1;gdb version 7.6.1 ...
随机推荐
- Anaconda简介及特点
摘要 Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以在Linux.macOS以及Windows系统中搭建环境并使用,其编写的代码在不同平台上运行时,几乎不需要做较 ...
- 据说是面试题:由【if(a==1&&a==2&&a==3)】引发的思考探讨
有一天,突然在一个微信群有个群友发了张图片抛出了一道题,如图:
- 微信小程序结合微信公众号进行消息发送
微信小程序结合微信公众号进行消息发送 由于小程序的模板消息已经废弃了,官方让使用订阅消息功能.而订阅消息的使用限制比较大,用户必须得订阅.需要获取用户同意接收消息的权限.用户必须得和小程序有交互的时候 ...
- Python其他数据结构collection模块-namtuple defaultdict deque Queue Counter OrderDict arrary
nametuple 是tuple扩展子类,命名元组,其实本质上简单类对象 from collections import namedtuple info = namedtuple("Info ...
- Go gin框架 使用swagger生成API文档
swaggos 是一个golang版本的swagger文档生成器,提供了native code包装器,并且支持主流的web框架包裹器 github 地址:https://github.com/swag ...
- 重拾H5小游戏之入门篇(二)
上一篇,水了近千字,很酸爽,同时表达了"重拾"一项旧本领并不容易,还有点题之效果.其实压缩起来就一句话:经过了一番记忆搜索,以及try..catch的尝试后,终于选定了Phaser ...
- CF600E Lomsat gelral 树上启发式合并
题目描述 有一棵 \(n\) 个结点的以 \(1\) 号结点为根的有根树. 每个结点都有一个颜色,颜色是以编号表示的, \(i\) 号结点的颜色编号为 \(c_i\). 如果一种颜色在以 \(x\) ...
- Typore的简单用法
1 无序列表使用方法 +号和空格一起按就可以写出这个点 2 有序列表使用方法 .先写1.然后打个空格就再回车 3 使用#和空格表示一级标题 一级标题 4 使用##和空格表示二级标题 5 二级标题 6 ...
- opencv中namedWindow( )函数
转自:https://blog.csdn.net/fanjiule/article/details/81606596 第一步,功能说明:namedWindow()的功能就是新建一个显示窗口.可以指定窗 ...
- Unicode和多字节字符集
今天自己写的发现一个输出路径程序使用unicode字符集只能输出单个的首字符,问了一下同事,改为使用多字节字符集,问题解决了 于是上网看了他们的区别: 很多没看完,但起码了解到字符集的演变过程, 转 ...