快速业务通道

使用Eclipse远程调试Java应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
-------------| <---- JDI - Java Debug Interface \ | UI | \ |--------------|

使用Eclipse远程调试Java应用程序(2)

时间:2011-04-13 IBM Charles Lu

因此,任何第三方工具和基于 JPDA 的 VM 应该都能协调工作。通过这个客户机-服务器 架构,您可以从运行该平台的本地工作站调试 Java 程序,甚至还可以通过网络进行远程调 试。

在讨论调试场景之前,我们先了解 JPDA 规范中的两个术语:连接器和传输。连 接器是一个 JDI 抽象,用来在调试器应用程序和目标 VM 之间建立连接。传输定义应用程序 如何进行访问,以及数据如何在前端和后端之间传输。连接器 “映射” 到可用 的传输类型和连接模式。在 Sun 的 JPDA 参考实现中,为 Microsoft® Windows® 提供了两个传输机制:套接字传输和共享内存传输。可用的连接器:

连接套接字连接 器

连接共享内存连接器

监听套接字连接器

监听共享内存连接器

启动命令行连接器

在调试器应用程序和目标 VM 之间建立连接时,有一端将 用作服务器并监听连接。随后,另一端将连接到监听器并建立一个连接。通过连接,调试器 应用程序或目标 VM 都可以充当服务器。进程之间的通信可以在同一个机器或不同的机器上 运行。

要远程调试 Java 程序,难点不是在调试器的前端,而是远程 Java 后端。不 幸的是,Eclipse 帮助系统中为这方面提供的信息并不多。事实上,JDI 和 JVMTI 是分别由 Eclipse 和 Java 运行时环境实现的。我们仅需要考虑 JDMP,因为它包含与 JVMTI 和 JDI 进行通信所需的信息。JDWP 包含许多参数,用于为远程 Java 应用程序调用所需的程序。以 下是本文用到的一些参数。

-Xdebug 启用调试特性。-Xrunjdwp:<sub- options> 在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用 程序通信。下面介绍一些特定的子选项。

从 Java V5 开始,您可以使用 - agentlib:jdwp 选项,而不是 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能 选择 -Xdebug 和 -Xrunjdwp。下面简单描述 -Xrunjdwp 子选项。

transport 这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输 。server 如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特 定地址上的调试器应用程序。address 这是连接的传输地址。如果服务器为 n,将尝试连接 到该地址上的调试器应用程序。否则,将在这个端口监听连接。suspend 如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。

要获得每个调试设置的详细解释,请参考 JPDA 文档(参见 参考资料)。

清单 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

使用Eclipse远程调试Java应用程序(3)

时间:2011-04-13 IBM Charles Lu

Eclipse 中的远程调试特性

Eclipse 是一个图形化 Java 调试器前端。JDI 在 org.eclipse.jdt.debug 包中实现。 本文不详细讨论 JDI 实现。参见 参考资料 获得关于 Eclipse JDT 和 Java JDI 技术的信 息。

我们首先应该知道要使用哪个 Eclipse 连接器。要了解 Eclipse 提供的远程连接类型, 您可以转到 Eclipse 菜单并选择 Run > Debug Configurations...,在 Remote Java Application 中添加一个启动配置,然后从下拉列表中选择连接器。在 Ga

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号