热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaEclipse如何调试代码

下面通过一个简单的例子来了解一下Eclipse调试程序的方法。上述代码完成的主要功能是如果i值满足小于或等于5的条件,就一直执行输出语句。可以看到for关键字后面的小

下面通过一个简单的例子来了解一下 Eclipse 调试程序的方法。上述代码完成的主要功能是如果 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 的命名规范,减少命名出错的概率。

  • 掌握一定的计算机专业英语,能够读懂一些错误信息,便于根据提示査找错误和修改错误。

  • 理解代码的含义之后自己练习写代码,而不是抄写代码。

  • 多看、多练、多思考。

https://www.bilibili.com/video/BV1yW4y1T7Yb/?spm_id_from=333.999.0.0&vd_source=96bd6c0a2bc667ee6713079257ccf5ad



推荐阅读
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
  • java io换行符_Java IO:为什么从stdin读取时,换行符的数字表示出现在控制台上?...
    只是为了更好地理解我在讲座中听到的内容(关于Java输入和输出流),我自己做了这个小程序:publicstaticvoidmain(String[]args)thro ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文总结了Java中日期格式化的常用方法,并给出了示例代码。通过使用SimpleDateFormat类和jstl fmt标签库,可以实现日期的格式化和显示。在页面中添加相应的标签库引用后,可以使用不同的日期格式化样式来显示当前年份和月份。该文提供了详细的代码示例和说明。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 模块化区块链生态系统的优势概述及其应用案例
    本文介绍了相较于单体区块链,模块化区块链生态系统的优势,并以Celestia、Dymension和Fuel等模块化区块链项目为例,探讨了它们解决可扩展性和部署问题的方案。模块化区块链架构提高了区块链的可扩展性和吞吐量,并提供了跨链互操作性和主权可扩展性。开发人员可以根据需要选择执行环境,并获得奖学金支持。该文对模块化区块链的应用案例进行了介绍,展示了其在区块链领域的潜力和前景。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 20209测试通过:eclipse安装svn插件
    网址不能用了,新的办法参考:https:quantum6.blog.csdn.netarticledetails117250800下载了最新的ecli ... [详细]
  • Maven构建Hadoop,
    Maven构建Hadoop工程阅读目录序Maven安装构建示例下载系列索引 序  上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant ... [详细]
  • 我将SpringMVC升级到Spring3.2.5.我的一些剩余调用即使存在,也会返回无法识别的字段异常.这是错误.Resolvingexceptionfrom ... [详细]
  • java计算机毕业设计springboot+vue信息工程学院学生社团网站
    项目介绍本信息工程学院学生社团平台是针对目前信息工程学院学生社团的实际需求,从实际工作出发,对过去的信息工程学院学生社团平台存在的问题进行分析 ... [详细]
author-avatar
嗳__霞骸
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有