在debug as application时Debug框上会有一些按扭,例如:
suspend,step into ,step over,step return,drop to frame,use step filters/step debug
他们是干什么用的,怎样使用?
本地调试
Java 调试器具有客户机/服务器设计,因此,它可以用来调试以本地方式(在调试器所在的工作站上)或以远程方式(在网络中的另一台计算机上)运行的程序。
本地调试是最简单并且最常用的一种调试。完成编辑和构建 Java 程序后,可以使用工作台上的运行 > 调试...菜单项来在工作站上启动程序。以此方式启动程序将在调试器客户机与正在启动的 Java 程序之间建立连接。然后,可以使用断点、单步执行或表达式求值来调试程序。
准备调试
可通过遵循下列准则使程序更容易调试:
尽可能不要将多个语句放在同一行上,因为某些调试器功能部件是以行为基础来运行的。例如,不能在同一行上的多个语句上单步跳过或设置行断点。
如果您有源代码,则将源代码连接至 JAR 文件。
以调试方式启动 Java 程序
以调试方式启动程序允许您使用调试器来暂挂和继续执行程序、检查变量和对表达式进行求值。
要以调试方式启动 Java 程序,
在“包资源管理器”中,选择想要启动的 Java 编译单元或类文件。
选择运行 > 调试方式 > Java 应用程序。
或者选择调试工具栏按钮上的下拉菜单中的调试方式 > Java 应用程序。
现在就启动了程序,并且已启动的进程显示在“调试”视图中。
如果想要程序在 main 方法中停止以便您可以单步遍历它的整个执行,则创建 Java 应用程序启动配置,并选择主选项卡上的在 main 中停止复选框。
还可以通过选择项目而不是编译单元或类文件来调试 Java 程序。将提示您从定义 main 方法的那些类中选择一个类。(如果在项目中只找到了一个具有 main 方法的类,则会象选择了该类一样启动该类。)
暂挂线程
要暂挂正在执行的线程:
在“调试”视图中选择该线程。
单击“调试”视图工具栏中的暂挂按钮。该线程就会暂挂它的执行。将显示该线程的当前调用堆栈,并且在“调试”透视图中的编辑器中突出显示执行的当前行。
线程暂挂时,会自动选择该线程的顶部堆栈帧。“变量”视图显示堆栈帧的变量以及它们的值。可通过展开复杂变量以显示它们的成员的值来进一步检查复杂变量。
当暂挂了线程并且将光标悬浮在 Java 编辑器中的一个变量上时,就会显示该变量的值。
继续执行暂挂的线程
要继续执行暂挂的线程:
在“调试”视图中选择该线程或者它的堆栈帧。
单击“调试”视图工具栏中的继续按钮(或者按 F8 键)。线程将继续执行,但是将不再对该线程显示堆栈帧。这就清除了“变量”视图。
单步遍历 Java 程序的执行
暂挂线程时,可以使用单步控制来逐行单步完成程序的执行。如果在执行单步操作时遇到了断点,则在该断点处将暂挂执行,并且该单步操作将结束。
单步跳过
在“调试”视图中选择堆栈帧。该堆栈帧中的执行的当前行在“调试”透视图的编辑器中突出显示。
单击“调试”视图工具栏中的单步跳过按钮,或者按 F6 键。执行当前所选的行,但会在下一个可执行行上暂挂。
单步跳入
在“调试”视图中选择堆栈帧。所选帧中的执行的当前行在“调试”透视图的编辑器中突出显示。
单击“调试”视图工具栏中的单步跳入按钮,或者按 F5 键。调用在要执行的当前所选行上的下一个表达式,而执行会在调用的方法中的下一个可执行行上暂挂。
单步跳入选择
在“调试”视图中选择堆栈帧。所选帧中的执行的当前行在“调试”透视图的编辑器中突出显示。
在 Java 编辑器中,在执行的当前行中,将光标放置在想要单步跳入的方法的名称上。
单击“运行”菜单或 Java 编辑器上下文菜单中的单步跳入选择操作,或者按 Ctrl-F5 键。将继续执行,直到调用了所选择的方法为止。
使用过滤器单步执行
切换“调试”视图工具栏中的使用单步执行过滤器按钮,或者使用 Shift+F5。当将此操作切换为打开时,每个单步执行操作(单步跳过、单步跳入和单步返回)都将应用在用户首选项中定义的那组单步执行过滤器(请参阅窗口 > 首选项 > Java > 调试 > 单步执行过滤)。当调用单步执行操作时,在到达未过滤的位置或遇到断点之前,单步执行将继续。
运行至返回
在“调试”视图中选择堆栈帧。所选帧中的执行的当前行在“调试”透视图的编辑器中突出显示。
单击“调试”视图工具栏中的运行至返回按钮,或者按 F7 键。将继续执行,直到执行当前方法中的下一个返回语句,且执行会在下一个可执行行上暂挂。
运行至行
暂挂线程时,可以继续执行,直到执行指定的行为止。这是在某行暂挂执行而不用设置断点的简便方法。
将光标放在想要程序运行的行上。
从弹出菜单中选择运行至行,或者使用 Ctrl+R。程序将继续执行,而刚好在要执行的指定行之前暂挂。
有可能某行从来不会遇到,并且程序将不会暂挂。
断点和异常可导致线程在到达指定行之前被暂挂。
检查值
当选择了堆栈帧时,可以在“变量”视图的该堆栈帧中看到可视变量。
“变量”视图显示基本类型的值。可通过展开复杂变量以显示它们的成员来检查复杂变量。
对表达式求值
当 VM 暂挂线程(由于遇到断点或单步执行代码)时,可以在堆栈帧的上下文中对表达式进行求值。
选择要在其中执行求值的堆栈帧。对于变量和表达式视图的详细信息窗格,求值上下文将是所选择的变量。如果未选择任何变量,则所选择的堆栈帧将为上下文。
可以在下列区域中输入表达式和对表达式求值:
显示视图
表达式视图的详细信息窗格
变量视图的详细信息窗格
Java 编辑器(当它正在显示源并且不是只读的时候)
选择要求值的表达式,并从上下文弹出菜单中选择显示、检查或执行。显示或检查求值的结果将显示在一个弹出窗口中。注意,执行不显示结果 - 只执行表达式。
可以通过单击弹出窗口的外部或按 Esc 来离开结果弹出窗口。通过按弹出窗口底部显示的键序列,可以将结果移至“显示”视图(如果选择了显示)或“表达式”视图(如果选择了检查)。例如,要将检查求值的结果移至“表达式”视图,按 CTRL-Shift-I。注意,当从“显示”视图使用显示操作时,结果将会写入“显示”视图而不是弹出窗口中
注意:在已经手工暂挂的线程中不能执行求值。
远程调试
Java 调试器的客户机/服务器设计允许您从网络中的计算机启动 Java 程序并从运行平台的工作站调试该程序。当为不能主管开发平台的设备开发程序时,这一点尤其有用。当在专用机器(如 web 服务器)上调试程序时,这一点也很有用。
注意:要使用远程调试,必须使用支持此功能的 Java VM。
要以远程方式调试程序,必须能够在远程机器上以调试方式启动程序,以便它将等待来自调试器的连接。用于启动程序和连接调试器的特定技术是特定于 VM 的。基本步骤如下:
确保正在以可用的调试信息构建 Java 程序。(可以从窗口 > 首选项 > Java > 编译器控制这些属性)。
构建 Java 程序后,将其安装到目标计算机。这涉及将 .CLASS 文件或 .JAR 文件复制到远程计算机上的适当的位置。
在远程计算机上调用 Java 程序,并使用适当的 VM 自变量来指定调试方式和调试器的通信端口。
使用远程启动配置来启动调试器并指定远程计算机的地址和端口。
应该从 VM 供应商那里获取用来设置用于进行远程调试的启动配置的更特定指示信息。
使用远程 Java 应用程序启动配置
远程 Java 应用程序启动配置应在调试正在远程 VM 上运行的应用程序时使用。因为应用程序是在远程系统上启动的,所以启动配置不会指定有关 JRE、程序自变量或 VM 自变量的普通信息。然而,提供了有关连接至应用程序的信息。
要创建远程 Java 应用程序启动配置,执行下列操作:
从工作台菜单栏中选择运行 > 调试...(或者从调试工具栏按钮的下拉菜单中选择调试...)来显示“启动配置”对话框。
在左边的配置类型列表中选择远程 Java 应用程序。
单击新建按钮。于是就创建了新的远程启动配置,并显示三个选项卡:连接、源和公共。
在连接选项卡的项目字段中,输入或进行浏览来选择用作启动的参考的项目(用于源查找)。不需要指定项目。
在连接选项卡的主机字段中,输入 Java 程序正在其中运行的主机的 IP 地址或域名。
如果程序与工作台在同一台机器上运行,则输入 localhost。
在连接选项卡的端口字段中,输入远程 VM 正在其中接受连接的端口。通常,启动远程 VM 时就要指定此端口。
允许终止远程 VM 标志是一个切换开关,它确定是否在调试器中启用终止命令。如果想要能够终止正连接至的 VM,则选择此选项。
单击调试。启动将尝试连接至位于指定地址和端口的 VM,而结果显示在“调试”视图中。如果启动程序无法连接至位于指定地址的 VM,则会出现错误消息。
指定应当从 VM 供应商处获取的用于设置远程 VM 的指示信息。
与 VM 断开连接
要与使用“远程 Java 应用程序”启动配置所连接至的 VM 断开连接:
在“调试”视图中,选择启动。
单击视图的工具栏中的断开连接按钮。与 VM 的通信终止,而远程 VM 中的所有线程仍继续进行。尽管远程 VM 继续执行,但调试会话现在终止了。
分享到:
相关推荐
### Eclipse 断点调试基础知识详解 #### 一、Eclipse 断点调试概述 在软件开发过程中,程序的调试是一项非常重要的工作。通过调试,开发者可以深入理解代码的执行流程,定位并修复程序中的错误。Eclipse 是一款...
Eclipse断点调试 Eclipse断点调试是指在Eclipse集成开发环境中使用断点调试来检测和修复程序错误的方法。断点调试是程序员无法回避的工作,它可以帮助程序员找到引发错误的代码。 断点调试的基本操作有: 1. 设置...
### Eclipse 断点调试快捷键详解 在软件开发过程中,使用高效的工具和技巧可以极大地提高工作效率。Eclipse作为一款流行的集成开发环境(IDE),提供了丰富的功能来帮助开发者编写、调试和管理代码。本文将详细介绍...
"PHPStudy+Eclipse断点调试设置方法" 本文将详细介绍如何在 PHPStudy 和 Eclipse 环境下设置断点调试,旨在帮助开发者更好地 debug PHP 代码。 PHPStudy 设置 在 PHPStudy 中,我们需要启用 XDebug 插件,以下是...
### Eclipse断点调试MySQL知识点详解 #### 一、前言 在Linux环境下使用Eclipse进行MySQL的断点调试是一项高级的开发技能,尤其对于那些深入研究数据库应用逻辑或需要进行性能优化的开发者而言尤为重要。本文将详细...
### Eclipse断点调试详解 #### 一、Eclipse调试器简介与重要性 Eclipse作为一个强大的集成开发环境(IDE),不仅适用于Java开发,也支持多种其他编程语言。Eclipse平台内置了一个功能强大的调试器,可以帮助开发者...
微信调试工具支持eclipse断点调试 本工具需要.net2.0或以上版本的支持
Java Eclipse断点调试方法 Java Eclipse断点调试方法是Java开发中一个非常重要的技术,通过断点调试,可以快速地定位和解决程序中的bug,本文将介绍Java Eclipse进行断点调试的方法。 一、设置断点 在Java ...
### Eclipse 断点调试快捷键详解 #### 一、概览 本文档旨在详细介绍 Eclipse 中与断点调试相关的快捷键及其使用场景,帮助 Android 开发者更高效地进行开发工作。通过掌握这些快捷键,开发者可以更加专注于逻辑的...
单步跳入选择 Ctrl+F5 调试上次启动 F11 使用过滤器单步执行 Shift+F5 添加/去除断点 Ctrl+Shift+B 显示 Ctrl+D 运行上次启动 Ctrl+F11 运行至行 Ctrl+R 执行 Ctrl+U
Eclipse断点调试的方法详解 Eclipse断点调试是软件开发过程中一个非常重要的调试技术,通过设置断点,可以让程序在特定的位置停止,帮助开发者更好地了解程序的执行过程,从而找到错误的根源。本文将详细介绍...
【Eclipse断点调试】是Eclipse集成开发环境中的一项核心功能,它允许开发者在代码的特定位置设置断点,以便于在程序运行时暂停执行,从而观察和分析程序的状态。在调试过程中,开发者可以查看变量的值、跟踪调用堆栈...
"Eclipse 断点调试技巧总结" 作为开发人员,掌握开发环境下的调试技巧十分有必要。Eclipse 是一种流行的集成开发环境(IDE),它提供了强大的调试功能,帮助开发人员快速定位和解决问题。本文将对 Eclipse 断点调试...
以下是如何在Eclipse中进行Java程序的断点调试的详细步骤和相关知识点: 1. **设置断点**: - 在Eclipse中,当你怀疑某段代码可能存在问题时,可以在相应行号的左边点击右键,选择"Toggle Breakpoint"来设置断点。...
- **HelloWorld应用程序**:以一个简单的HelloWorld程序为例,演示如何在Eclipse中设置断点、启动调试器以及使用各种调试工具。 - **设置断点**:在`ClickListener.onClick`方法的第一行设置断点。 - **启动调试器...
本文将详细介绍如何配置Eclipse集成开发环境(IDE)进行WebLogic服务器的本地断点调试。 首先,确保你已经安装了Eclipse和WebLogic Server。Eclipse是一个强大的Java开发工具,而WebLogic是Oracle公司提供的企业级...
Eclipse远程调试教程 Eclipse 远程调试是指在 Eclipse 中对 Java 应用程序进行远程调试,通过配置 Tomcat 和 Eclipse,可以实现对远程服务器上的 Java 应用程序的调试。下面将详细介绍 Eclipse 远程调试的配置和...
Java 断点调试的各种方法 断点调试是 Java 程序员经常用的调试技术,通过设置断点,可以在代码运行到某一特定位置时停止,方便开发者检查和 debug 代码。下面将详细介绍 Java 断点调试的各种方法。 1. 条件断点 ...
### Eclipse远程调试详解 #### 一、远程调试概念与应用场景 **远程调试**是指开发者能够通过特定工具在一台机器上(通常称为客户端)对另一台机器(服务端)上正在运行的应用程序进行调试的过程。这种方式使得...