eclipse远程调试
在eclipse3.4前,远程调试时eclipse只能当客户端(如下图中只有一个选项),而到eclipse3.4或之后,eclipse即可当客户端也可当服务端来远程调试。
虚拟机调试参数设置
清单 2 是一个示例,显示如何在调试模式下启动 VM 并监听端口 8765 的套接字连接。
清单 2. 作为调试服务器的目标 VM
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8765
|
清单 3 显示如何使用位于 8000 端口的主机 127.0.0.1 上的套接字连接运行中的调试器应用程序。
清单 3. 作为调试客户机的目标 VM
-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000
|
各参数的意义:
Xdebug
启用调试特性。
-Xrunjdwp:<sub-options>
在目标 VM 中加载 JDWP(Java 调试网络协议Java Debug Wire Protocol) 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。
注,从 Java V5 开始,您可以使用 -agentlib:jdwp 选项,而不是 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug 和 -Xrunjdwp。下面简单描述 -Xrunjdwp 子选项。
transport
这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。
server
如果值为 y,目标应用程序监听将要连接的调试器应用程序(VM端作为服务器)。否则,它将连接到特定地址上的调试器应用程序(eclipse端作为服务器)。
address
这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。
suspend
如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。
在 Ganymede 中共有两个连接器:
- Socket Attach (连接套接字的连接器)
- Socket Listen (监听套接字的连接器)
如下图:
对于监听套接字的连接器,Eclipse VM 将是与远程 Java 应用程序连接的主机。对于连接套接字的连接器,目标 VM 将作为主机。这两种连接器对应用程序调试没有影响,用户可以任意选择。
在调试 Java 应用程序之前,需要确保编译类前启用所有调试选项,否则调试时将收到一个错误信息,比如 “Debug information is not available” 或 “Unable to install breakpoint due to missing line number”。您可以通过更改 Eclipse 菜单上的 Window > Preferences > Java > Compiler 来修改类文件调试选项:
导出可运行的jar包
右键单击 Java 项目,选择 Export,然后选择 Java,最后选择Runnable JAR file 导出项目。将在指定的位置生成 JAR 文件。注意,如果 Java 源代码与目标应用程序不匹配,调试特性将不能正常工作。
应用程序作为调试服务器
下面这个示例远程调用 Java 应用程序作为调试服务器,并在端口 8000 监听套接字连接。VM 将暂停,直到调试器连接上。
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address="8000" -jar test.jar
|
使用远程启动配置启动 Eclipse,并指定远程应用程序的目标 VM 地址。为此,单击 Run > Debug Configurations,然后在 Eclipse 菜单中双击 Remote Java Application。从最新创建的启动配置中为目标应用程序指定 IP 和端口。为了在同一台机器上运行远程应用程序,仅需将主机 IP 指定为 localhost 或 127.0.0.1。
如果选择 Allow termination of remote VM(允许终止应用程序调试期间连接的 VM) 选项,即当你打上这个钩时,eclipse调试视图终止远程虚拟机的停止按钮可用:
应用程序作为调试客户机
第二个示例使用一个简单的 Java 应用程序作为调试客户机,并且调试器前端作为调试服务器。Eclipse 使用套接字监听模式连接类型进行监听。必须先启动调试前端来监听特定的端口。下图给出一个用于设置监听的示例配置。
单击 Eclipse Debug 按钮,状态栏将显示消息 “waiting for vm to connect at port 8000...”。看到这个消息后,再启动远程应用程序。下面清单显示了如何将 Java 应用程序作为调试客户机并调用它,然后使用端口 8000 上的主机 127.0.0.1 的套接字将其连接到一个正在运行的调试器应用程序。
java -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y -jar test.jar
|
如果一切进行顺利,将会显示一个调试透视图帮助调试应用程序,并且远程 Java 应用程序将正常停止,等待你的调试。
- 大小: 9.5 KB
- 大小: 9 KB
- 大小: 7.1 KB
- 大小: 15.7 KB
- 大小: 6.6 KB
- 大小: 15.8 KB
分享到:
相关推荐
"eclipse调试java的10个技巧" Eclipse调试Java的10个技巧是Java开发者们在使用Eclipse进行Java开发时的一些高级调试技巧。这些技巧可以帮助开发者更好地调试Java程序,提高开发效率和质量。 1. 条件断点 条件断点...
【长青说安卓】系列专题(七):Eclipse王者归来——如何使用Eclipse调试Android源码 在Android开发领域,Eclipse曾是开发者的主要工具,尤其在早期,其强大的集成开发环境为开发者提供了便捷的代码编辑、构建和调试...
### Eclipse调试Java的十个高效技巧 #### 一、概述 在开发Java应用程序的过程中,调试是一项不可或缺的任务。良好的调试技能能够帮助开发者快速定位问题并解决它们。Eclipse是一款广泛使用的Java集成开发环境(IDE)...
在文件"1272237.html"和"1272237_files"中,可能包含有关如何使用Eclipse调试PHP的更具体步骤或示例代码。阅读这些文件将加深你对Eclipse调试PHP过程的理解,并能帮助你在实际开发中更好地应用这些技巧。 总的来说...
本教程“Eclipse调试方法入门”旨在为初学者提供一套全面且易懂的调试指南,帮助他们理解和掌握在Eclipse中进行程序调试的关键技能。 首先,我们要理解调试的基本概念。调试是识别和修复程序中错误的过程,通过它...
本文将详细介绍Eclipse调试中的几个常用技巧,包括条件断点、变量断点、方法断点、改变变量值、重新调试、远程调试以及异常断点。 1、条件断点:条件断点允许我们在代码执行时设置特定条件,只有当条件满足时,程序...
### Eclipse调试问题详解 在开发过程中,遇到诸如“eclipse调试问题”这样的错误往往令人头疼。根据提供的代码片段,我们主要关注的是与Eclipse IDE相关的Java编程中的异常处理和调试技巧,尤其是`...
总的来说,JavaScript Eclipse调试插件是提高JavaScript开发效率和质量的关键工具,通过它,开发者可以更好地理解代码运行状态,快速定位和解决问题,从而提升开发工作的专业性和生产力。对于任何使用Eclipse进行...
【Eclipse调试常用技巧】 Eclipse作为一款强大的Java开发集成环境,其调试功能十分强大,对于初学者或者未充分利用其高级特性的开发者来说,掌握这些技巧可以极大地提高工作效率。以下是一些Eclipse调试中的关键点...
尽管图像内容无法直接查看,但是根据标题和描述,我们可以提取以下Eclipse调试的常用技巧: 1. 启动Debug模式:在Eclipse中,可以通过点击工具栏上的“Debug”图标或者右键点击Java文件选择“Debug As”来启动debug...
【Eclipse调试常用技巧】 Eclipse作为一款强大的Java开发集成环境,其调试功能十分强大,对于初学者或者未充分利用这些工具的开发者来说,掌握这些技巧能够显著提高代码调试的效率和准确性。以下是一些Eclipse调试...
Eclipse是一个集成开发环境(IDE),广泛用于Java语言的开发,同时也支持C、...Eclipse调试器的高级功能还包括条件断点、异常断点、监视点等,这些都可以帮助开发者更精细地控制调试过程,快速定位和修复程序中的错误。
【Eclipse调试Bug的七种常用技巧】 在软件开发过程中,调试是不可或缺的一部分,尤其是在使用Eclipse这样的集成开发环境(IDE)时。Eclipse提供了多种强大的调试工具和技术,帮助开发者快速定位并修复问题。以下是...
### Node.js 连接 Eclipse 调试指南 在当今快速发展的软件开发领域,Node.js 作为一种流行的服务器端 JavaScript 运行环境,被广泛应用于构建高效、可扩展的网络应用程序。对于开发者而言,掌握如何有效地调试 Node...
以下将详细介绍标题提及的Eclipse调试的7种方法: 1. **条件断点**:普通断点是代码执行到某行时停止的基础,而条件断点则允许我们设置一个条件,只有当条件满足时,程序才会在该断点处暂停。这有助于减少不必要的...
### Linux下Eclipse调试C语言简介及环境配置 #### 一、引言 随着软件开发技术的不断发展,高效的集成开发环境(IDE)成为了提高开发效率的关键。对于C语言开发者而言,在Linux环境下寻找合适的IDE尤为重要。本文将...
"Eclipse调试方法入门"是学习Eclipse不可或缺的部分,它讲解了如何在Eclipse中设置断点、单步执行、查看变量值、跟踪调用堆栈等调试技巧。这对于查找和修复代码中的错误至关重要,也是提升开发效率的有效手段。 ...
7. **Eclipse调试优势**: 使用Eclipse的图形化调试界面相对于命令行工具gdb来说,通常更加直观和方便。它提供了丰富的调试工具,如断点、变量观察窗口、调用堆栈查看等,有助于理解代码执行流程和调试复杂问题。 ...
在本文中,我们将深入探讨Eclipse IDE中的调试技巧,这对于任何Java开发者来说都是至关重要的技能。Eclipse是一个强大的集成开发环境,其调试功能强大且多样,可以帮助开发者高效地定位并解决问题。 首先,我们来看...
### Eclipse调试小技巧详解 #### 一、引言 对于初入职场的软件开发者来说,掌握高效的调试技巧是非常重要的。本文旨在帮助那些刚从学校步入社会的开发人员以及那些尚未充分利用Eclipse高级调试功能的朋友,更好地...