【工具】Debug 调试 Java 程序

简介: 【工具】Debug 调试 Java 程序

最近公司Java开发后端用的IDE是eclipse,之前使用过Myeclipse和idea,对eclipse调试还不是很熟,所以需要学习一下。


  Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。




调试过程如下:


我们可以在 Package Explorer 视图调试 Java 程序,操作步骤如下:


1、鼠标右击包含 main 函数的 java 类


2、选择 Debug As > Java Application


该操作也可以通过快捷键来完成,快捷键组合为 Alt + Shift + D, J。


以上操作会创建一个新的 Debug Configuration(调试配置) ,并使用该配置来启动 Java 应用。


如果 Debug Configuration(调试配置)已经创建,你可以通过 Run 菜单选择 DebugConfigurations 选取对应的类并点击 Debug 按钮来启动 Java 应用。



20171015230955825.jpg


3、Run 菜单的 Debug 菜单项可以重新加载之前使用了调试模式的 java 应用。

20171015231009930.jpg


4、重新加载之前使用了调试模式的 java 应用快捷键为 F11。


当使用调试模式开启java程序时,会提示用户切换到调试的透视图。调试透视图提供了其他的视图用于排查应用程序的故障。


java 编辑器可以设置断点调试。 在编辑器中右击标记栏并选择 Toggle Breakpoint 来设置断点调试。

20171015231048892.jpg


断点可以在标记栏中看到。也可以在 Breakpoints View(断点视图)中看到。


当程序执行到断点标记的代码时 JVM 会挂起程序,这时你可以查看内存使用情况及控制程序执行。


程序挂起时,Debug(调试)视图可以检查调用堆栈。


variables(变量)视图可以查看变量的值。


20171015231104406.jpg


5、Run 菜单中有继续执行(Resume)菜单项,跳过(Step Over)一行代码,进入函数(Step Into)等。


20171015231128051.jpg

以上图片中显示了 Resume, Step Into 和 Step Over 等关联的快捷键操作。

对eclipse的学习后续还会跟上,功夫要下在平时。

目录
打赏
0
0
0
0
4
分享
相关文章
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。
课时7:Java程序基本概念(注释)
课时7介绍了Java程序中的注释。编程语言有其语法和语义,注释有助于理解代码需求,防止断档。Java支持三类注释:单行(//)、多行(/* */)和文档注释(/** */)。注释不会被编译器编译。范例中展示了如何在代码中使用注释,并强调了注释对项目文档管理的重要性。
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
【YashanDB知识库】Java程序调用存储过程,在提取clob时报YAS-00004
课时146:使用JDT开发Java程序
在 Eclipse 之中提供有 JDT环境可以实现java 程序的开发,下面就通过一些功能进行演示。 项目开发流程
课时5:第一个Java程序
课时5介绍了编写第一个Java程序的步骤,包括创建Hello.java文件、编写“Hello World”代码、编译和运行程序。主要内容有:1) 新建并编辑Hello.java;2) 编译Java源文件生成.class文件;3) 通过命令行解释执行Java程序;4) 解释主方法的作用及信息输出操作。本课强调了类定义、文件命名规则和基本程序结构的重要性,并建议初学者使用记事本编写代码以熟悉基础语法。
消防救援支队消防员单兵装备智能养护舱电机驱动java版程序(二)
本文探讨消防救援中智能养护舱电机驱动的Java程序设计,作为系列文章第二部分。通过自动化和智能化手段,智能养护舱提升了装备维护效率与准确性。文章详细介绍了电机驱动模块的设计与实现,包括硬件选型、PID控制策略、安全保护机制及Java程序架构,确保电机精确控制、稳定性和安全性。未来将优化功能并引入智能算法和物联网技术,进一步提升装备维护智能化水平。
消防救援支队消防员单兵装备智能养护舱点击驱动java版程序(一)
智能消防作战服架通过电机驱动系统提升消防员作业效率和安全性。本文介绍基于Java的电机驱动程序开发,涵盖硬件准备、软件环境搭建及驱动程序实现。重点包括串口通信配置、电机控制类设计与控制逻辑实现,确保电机高效稳定运行。通过正确配置通信协议和串口参数,并添加异常处理机制,保障系统的安全性和可靠性。
深入理解Java调试体系
         最近在做服务器启动调优的过程中,重温了一下IBM tech wiki上的JPDA系列文章,这里放出来和大家分享,欢迎大家留言讨论~ 1. 第一部曲 http://www.ibm.com/developerworks/cn/java/j-lo-jpda1/ 2. 第二部曲 http://www.ibm.com/developerworks/cn/java/j-lo-
1965 0
|
2月前
|
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
196 60
【Java并发】【线程池】带你从0-1入门线程池
|
11天前
|
【源码】【Java并发】从InheritableThreadLocal和TTL源码的角度来看父子线程传递
本文涉及InheritableThreadLocal和TTL,从源码的角度,分别分析它们是怎么实现父子线程传递的。建议先了解ThreadLocal。
48 4
【源码】【Java并发】从InheritableThreadLocal和TTL源码的角度来看父子线程传递
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等