首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

运用 Eclipse 远程调试 Java 应用程序

2012-07-04 
使用 Eclipse 远程调试 Java 应用程序远程调试对应用程序开发十分有用。例如,为不能托管开发平台的低端机器

使用 Eclipse 远程调试 Java 应用程序

远程调试对应用程序开发十分有用。例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序。其他情况包括:运行在内存小或 CUP 性能低的设备上的 Java 应用程序(比如移动设备),或者开发人员想要将应用程序和开发环境分开,等等。


?


?

3. 从本地调试应用程序 在调试应用程序之前,确保已经为项目启用图 1 中描述的调试选项。从本地调试应用程序是没有必要的,但是这可以确保是否所有调试信息都可用。右键单击 Java 项目,并选择 Debug As,然后选择 Java Application(参见图 3)。如果应用程序在断点处停止执行,则表明调试信息正确显示。这时,可以继续使用这些调试特性,比如显示调试堆栈、变量或断点管理等等。


图 3. 从本地调试应用程序
?
运用 Eclipse 远程调试 Java 应用程序
?

4. 导出 Java 项目 我们将使用这个应用程序作为调试目标。右键单击 Java 项目,选择 Export,然后选择 Java,最后选择 JAR fileRunnable JAR file 导出项目。将在指定的位置生成 JAR 文件。注意,如果 Java 源代码与目标应用程序不匹配,调试特性将不能正常工作。5. 手动运行 Java 应用程序 打开控制台手动启动应用程序,确保正确配置了 Java 运行时环境。


清单 5. 调用 Java 应用程序的示例

?

使用远程启动配置启动 Eclipse,并指定远程应用程序的目标 VM 地址。为此,单击 Run > Debug Configurations,然后在 Eclipse 菜单中双击 Remote Java Application。从最新创建的启动配置中为目标应用程序指定 IP 和端口。为了在同一台机器上运行远程应用程序,仅需将主机 IP 指定为 localhost 或 127.0.0.1。


图 4. 连接套接字连接的配置
?

运用 Eclipse 远程调试 Java 应用程序
?

选择 Allow termination of remote VM 选项终止在应用程序调试期间连接的 VM。


图 5. Eclipse 中的 Terminate 按钮
?
运用 Eclipse 远程调试 Java 应用程序
?


?

单击 Eclipse Debug 按钮,状态栏将显示消息 “waiting for vm to connect at port 8000...”。看到这个消息后,启动远程应用程序。清单 7 显示了如何将 Java 应用程序作为调试客户机并调用它,然后使用端口 8000 上的主机 127.0.0.1 的套接字将其连接到一个正在运行的调试器应用程序。


清单 7. Eclipse 监听套接字连接模式中的 VM 调用示例

    java -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y          -jar test.jar 

?

如果一切进行顺利,将会显示一个调试透视图帮助调试应用程序,并且远程 Java 应用程序将正常停止。这类似于步骤 3 中的本地调试(参见图 3)。在这里,您可以使用标准的调试特性,比如设置断点和值、单步执行等。

结束语

本文演示如何使用 Eclipse 内置的远程 Java 应用程序配置类型对应用程序执行远程调试。介绍了如何设置 Java 应用程序以调用远程调试,并帮助您理解 Eclipse 提供的连接器。最后,您还学习了如何将这些技术应用到项目中。

<!-- CMA ID: 363049 --><!-- Site ID: 10 --><!-- XSLT stylesheet used to transform this file: dw-article-6.0-beta.xsl -->

?

参考资料

学习

您可以参阅本文在 developerWorks 全球网站上的 英文原文。

“Eclipse Ganymede 先睹为快” 概述了几个 Ganymede 项目,并提供相关的资源。

要初步了解如何在 Eclipse 平台上进行调试,请参阅 “使用 Eclipse 平台进行调试 -- 使用 Eclipse 平台调试您的软件项目”。

查看 Eclipse Debugging Resources 丰富您的 Eclipse 调试知识。

更多地了解 Sun Microsystems 提供的 Java Platform Debugger Architecture。

阅读 Java Platform Debugger Architecture 文档 更多地了解 JPDA。

阅读 Java Debug Interface documentation 更多地了解 JDI。

JDT 项目 提供的工具插件可以实现 支持任何 Java 应用程序开发的 Java IDE,包括 Eclipse 插件。

查看 “推荐 Eclipse 阅读清单”。

在 developerWorks 上浏览所有的 Eclipse 内容。

您是 Eclipse 新手吗?阅读 developerWorks 文章 “Eclipse 平台入门” 以了解它的起源和架构,以及如何用插件扩展 Eclipse。

查看 IBM developerWorks 的 Eclipse 项目资源 提高您的 Eclipse 技巧。

要收听针对软件开发人员的有趣访谈和讨论,请访问 developerWorks podcasts。

随时关注 developerWorks 的 技术活动和网络广播。

查看免费的 developerWorks On demand demos 体验并了解 IBM 和开放源码技术及产品功能。

查阅最近将在全球举办的面向 IBM 开放源码开发人员的研讨会、交易展览、网络广播和其他 活动。

访问 developerWorks 开放源码专区,获得丰富的 how-to 信息、工具和项目更新,帮助您用开放源码技术进行开发,并与 IBM 产品结合使用。

获得产品和技术

从 Sun Microsystems 可以获得 Java 2 Standard Edition V5 或更新版本。

在 IBM alphaWorks 上查看最新的 Eclipse 技术下载。

从 Eclipse Foundation 下载 Eclipse Platform 和其他项目。

下载 IBM 产品评估版,使用来自 DB2?、Lotus?、Rational?、Tivoli? 和 WebSphere? 的应用程序开发工具和中间件产品。

使用 IBM 试用软件 改进您的下一个开源开发项目,可以下载或从 DVD 获得。

讨论

Eclipse Platform 新闻组 应当是讨论关于 Eclipse 的问题的第一站(选择此链接将启动默认的 Usenet 新闻阅读器应用程序并打开 eclipse.platform)。

Eclipse 新闻组 为对使用和扩展 Eclipse 感兴趣的人员提供了许多参考资料。

参与 developerWorks blogs 并加入 developerWorks 社区。

关于作者

Charles Lu 是 IBM China Software Development Lab 的软件开发人员,目前从事 IBM Lotus Expeditor 的开发。他感兴趣的领域包括设备编程、即时消息和语音技术。

热点排行