下面通过一个简单的例子来了解一下 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. 第六章练习题和知识面扩充
  2. 利用python编写设计多线程web服务器(计算机网络_自顶向下第六版_第二章1和4的编程作业)
  3. SAP系统安装技术要求
  4. 深入浅出Mybatis系列(一)---Mybatis入门[转]
  5. 牛客网--单词倒排(Java)
  6. 计组之数据运算:2、奇偶校验码、海明校验码 循环冗余校验码
  7. element-UI响应式(布局原理)讲解 - 贴文篇
  8. 夜读源码,带你探究 Go 语言的iota
  9. matlab进行动力吸振器设计,动力吸振器的参数设计和动力学分析
  10. WMPLib.WindowsMediaPlayer 的用法
  11. 阿里研究院:解读互联网经济十大议题
  12. K8S认证、授权与准入控制(RBAC)详解
  13. 洛谷P3292 [SCOI2016]幸运数字(倍增+线性基)
  14. nginx日志打印header_小水敲黑板--Nginx+Keepalived实现负载均衡和高可用
  15. 训练集(training)、验证集(validation)和测试集(test)
  16. 一文掌握Java基础知识点(思维导图)
  17. 计算机软考中级网络工程师考点总结——待续
  18. 【随笔】理性国度的感性之火——浅论《报任安书》
  19. 公务员考试行测、申论答题时间分配
  20. Chrome 鼠标左击右击无效解决办法

热门文章

  1. 运算方法和运算器——数据与文字的表示方法
  2. vue-print-nb实现页面打印,如何隐藏打印打印区域中的某个div?
  3. AndroidAPP数据采集SDK设计
  4. kali Linux中wafw00f的简介以及使用教程
  5. b--C语言,BCPL,B语言,C语言
  6. 高通SDM845平台Sensor学习——2.Hal层--
  7. Win7右键没有新建Word、excel、powerpoint
  8. syscall指令_SYSCALL
  9. 计算机屏幕出现条纹w7,win7系统电脑开机屏幕出现彩色条纹的修复方法
  10. Lending Club Data For Scorecard Development in SAS Enterpise Miner