浅谈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 ...
随机推荐
- 你还在寻找Navicat的破解版本?你应该了解开源免费的DBeaver
前言 你是否还在各个"免费绿色"的下载网站上寻找navicat的破解版本,或者已经通过某些方式破解了navicat的特定版本.你或者是在一家对安全和软件著作权比较看重的公司,明令禁 ...
- 转载:Win7系统 利用 pycharm导入Tensorflow失败,出现报错——ImportError:DLL load failed with error code -1073741795的解决方式
转载自:https://blog.csdn.net/shen123me/article/details/80621103 下面的报错信息困扰了一天,网上的各种方法也都试过了,还是失败,最后自己瞎试,把 ...
- (转)Java中的值传递和引用传递
Java中的值传递和引用传递 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递.Java 编程语言只有值 ...
- Spring学习(十)--Spring的AOP
1.Spring AOP拦截器 (1)设计原理 Spring AOP在通过JDK的Proxy或者CGLIB方式生成代理对象的时候,拦截器的相关信息就配置到代理对象中了. 1)如果使用JDK的Proxy ...
- Servlet3.x部署描述符
简介 web.xml即部署描述符,位于WEB-INF目录下.在Servlet3以上版本有提供了注解的方式部署Servlet,因此web.xml是可选的.web.xml大概框架如下: <?xml ...
- Python-维护排序好的序列模块-bisect
bisect模块 处理已经排序的序列,升序,从小到大,分插入数据和查看插入数据的位置两大核心,类似于插入排序算法 插入数据 # 首先这个序列按升序规则已经排序好的 # 查找规则是二分查找,当数据相等的 ...
- 使用 Aria2 代替迅雷
一.原因 迅雷下载速度一般,thunder:// 开头的链接也逐渐被 bt 链接替代. 迅雷很流氓,安装后 (尤其是 Windows 系统) 浏览器默认使用迅雷下载,对于小文件来说使用浏览器内置下载可 ...
- 《C++primerplus》第8章练习题
1.(简单用一下引用变量,没有采用书中的题目)定义一个替身结构体,存储名字(char[])和力量值(int).使用结构体引用作为形参写两个函数,一个不加const,使得能对定义的结构体做修改,另一个加 ...
- 在Windows7中打开照片,提示“Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足。....”
在Windows7中打开照片,提示"Windows 照片查看器无法显示此图片,因为计算机上的可用内存可能不足.请关闭一些目前没有使用的程序或者释放部分硬盘空间(如果硬盘几乎已满),然后重试. ...
- LiteOS-任务篇-源码分析-任务调度函数
目录 前言 笔录草稿 核心源码分析 osTaskSchedule函数源码分析 osPendSV函数源码分析 TaskSwitch函数源码分析 调度上层源码分析 osSchedule函数源码分析 LOS ...