下面通过一个简单的例子来了解一下 Eclipse 调试程序的方法。


  1. public class Test1 {
  2. public static void main(String[] args) {
  3. // for循环,如果for后面()内的条件一直成立,{}内的代码一直执行
  4. for (int i = 0; i <= 5; i++) {
  5. System.out.println("这时的 i 值为 " + i);
  6. }
  7. }
  8. }

上述代码完成的主要功能是如果 i 值满足小于或等于 5 的条件,就一直执行输出语句。可以看到 for 关键字后面的小括号中有三个表达式,第一个表达式int i=0的作用是定义一个 int 类型的变量并赋初值为 0,第二个表达式i<=5说明 i 要满足的条件是小于或等于 5,第三个表达式i++的意思是程序每执行一次 i 加 1。

对初学者来说,可能对这几个表达式的理解不太透彻,这样就会对每次控制台中输出的 i 值有所怀疑。接下来介绍每次执行程序后 i 值的变化。

在调试程序时常用的方法就是设置断点,跟踪调试,查看变量值的变化。调试上述代码的方法如下。

(1) 设置断点。双击要插入断点的语句行前面的蓝色区域,这时该行最前面会出现一个蓝色的圆点,也就是断点。本例在第 6 行 for 语句处添加了断点,如图 1 所示。如果想要取消该断点,直接双击断点所在的行号即可。

图 1  添加断点

(2) 选择“Window(窗口)”|“Show View(显示视图)”|“(Breakpoints)断点”命令,打开“Breakpoint(断点)”窗格,在这里可以看到 Test 的第 6 行有一个断点,如图 2 所示。

图 2 “断点”窗格

(3) 要以调试方式运行程序,需要在工具栏中单击“调试”按钮,这样执行到断点的位置时弹出如图 3 所示的对话框,可以发现将要执行的 for 语句已经变成了绿色。单击“Switch(是)” 按钮进入调试模式,如图 4 所示。

图 3  询问是否进入调试模式

图 4  调试模式

(4) 单击

按钮或者直接按 F6 键,程序开始单步执行。这时可以看到“变量(图 4 中的)”窗格中 i 的值是 0,然后继续执行,“控制台”窗格输出“这时的 i 值为 0”。

(5) 继续执行会发现程序重新回到 for 循环开始的位置,准备开始下一次的执行。此时,i 值变化为 1 且“变量”窗格中显示 i 值的行变为了黄色,如图 5 所示。

图 5 “变量”窗格

(6) 继续一直单击

按钮,直到程序执行完毕。在这个过程中,可以看到 i 值又从 1 依次变化到 5,然后程序执行结束。

在上述的调试过程中,查看程序中变量值的变化,可以更好地理解程序的执行流程,这种设置断点的调试方式是初学者必须掌握的。

下面给初学者介绍一些如何减少错误的建议。使用 Java 的命名规范,减少命名出错的概率。掌握一定的计算机专业英语,能够读懂一些错误信息,便于根据提示査找错误和修改错误。理解代码的含义之后自己练习写代码,而不是抄写代码。多看、多练、多思考。

Java Eclipse如何调试代码相关推荐

  1. ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源

    ECLIPSE远程调试出现如下问题  ECLIPSE中调试代码提示找不到源 如此提示是由于没有JAR包中找不到MAIN,可以手动添加或自己修改 利用ECLIPSE填写JAR中的MAIN方法后,就可以调 ...

  2. Windows下搭建ARM11裸机开发环境(3):Eclipse+JLink调试代码

    By: Ailson Jack Date: 2019.05.17 个人博客:http://www.only2fire.com/ 本文在我博客的地址是:http://www.only2fire.com/ ...

  3. java eclipse旅店管理系统代码_Eclipse酒店管理系统(java).doc

    Eclipse酒店管理系统(java) 1 需求分析 1.1需求分析报告 酒店管理系统是面向酒店的的各项事务,包括酒店管理,订单管理.菜系管理等业务处理工作,是利用计算机进行集中管理而开发的系统.该系 ...

  4. java eclipse旅店管理系统代码_运用Java语言与Eclipse开发工具完成酒店管理系统的设计与实现...

    随着社会经济的发展,酒店在服务行业扮演越来越重要的角色,在酒店运作期间,其管理和服务水平直接影响到酒店的形象和声誉.为提高其自身的管理水平,加强竞争能力,提高经济效率,笔者在对酒店的日常运作进行综合调 ...

  5. 基于SpringBoot视频学习系统|视频点播系统的设计与实现【Java毕业设计·安装调试·代码讲解·文档报告】

  6. 基于SpringBoot校园外卖配送系统的设计与实现【Java毕业设计·安装调试·代码讲解·文档报告】

  7. 基于SpringBoot零食销售系统的设计与实现【Java毕业设计·安装调试·代码讲解·文档报告】

  8. 基于SpringBoot在线答疑管理系统的设计与实现【Java毕业设计·安装调试·代码讲解·文档报告】

  9. 基于SpringBoot大学生成长记录系统【Java毕业设计·安装调试·代码讲解·文档报告】

最新文章

  1. python基本输入输出代码示例
  2. Python网络编程—(TCP、UDP区别)
  3. Entity Framework Core生成的存储过程在MySQL中需要进行处理及PMC中的常用命令
  4. 自动根据键盘位置调整UITextView的高度
  5. lnmp 查看mysql版本_MySQL数据库之Lnmp环境中php-mysql版本问题
  6. 泰山OFFICE在LINUX上输入法候选框位置错误的两个解决思路
  7. Locahost和本地IP地址有什么区别?
  8. 七种寻址方式(立即寻址、寄存器寻址)
  9. html打开无法显示网页怎么回事,Win7打开网页提示“Internet Explorer无法显示该页面”如何解决?...
  10. 怎样把CAD图纸的背景颜色修改成白色?
  11. Java技术之AQS详解
  12. 用Matlab计算多项式的值
  13. 2021-10-18 WPF调用dll出现异常
  14. Excel用自动填表快速实现一维表到二维表的转换
  15. c#.net4复杂json读取
  16. 【tio-websocket】4、tio-websocket-server实现自定义集群模式
  17. CSS之文本标签及样式
  18. 我国大陆居民×××Java验证
  19. 冈萨雷斯数字图像处理第三章空间滤波
  20. 【愚公系列】2023年03月 Java教学课程 063-原子性

热门文章

  1. Redis实战和核心原理详解(8)使用快照RDB和AOF将Redis数据持久化到硬盘中
  2. Kubernetes准入控制器指南
  3. 谋杀上班时间的30个小众网站
  4. humann3的安装与使用:解决metaphlan3无法下载数据库的问题。
  5. jQuery 表单插件 -- Form
  6. 嵌入式系统测试工具ETest应用研究
  7. [译]Flutter 响应式编程:Steams 和 BLoC 实践范例
  8. 一个《跳动的爱心》代码,纯HTML+JS,双击直接运行
  9. Apollo 障碍物感知5大板块(推荐了解)
  10. 综合评价分析法:熵权法matlab实现+层次分析法matlab实现