Eclipse远程调试WebSphere Application Server

我们用 Eclipse 开发 Web 项目时,多会用某个插件(如 MyEclipse) 来对 Tomcat 中的应用进行单步调试。而要调试 WAS 下的应用,MyEclipse 也是可以的,但在 MyEclipse 中启动 WAS 比较慢,且需要在本地安装一个 WAS。再有便捷点的方法是用 WSAD (Websphere Studio Application Developer) 或它的升级版 RAD (Rational Application Developer),它们内置了对 WAS 很好的支持,不过也需要本机安装了 WAS,WSAD/RAD 肥大的身躯自是不必说。若要让 WSAD/RAD 进行远程调试,似乎还得在Server 上安装个 IBM Agent Controller。

实际上 WAS 就支持远程调试的设置,打开它,你只需要用 Eclipse Debug 中的 Remote Java Application 功能连接到服务器上相应端口即行。设置很简单,这样的办法你甚至可以在闲时偷偷的调试一下生产环境的 WAS 应用以验证测试环境难以/无法重现的问题。具体做法如下(WAS 5.x 和 6.x 下的操作基本相同):

一:配置 WAS,打开调试服务

进到 WAS(或ND) 的管理控制台,在服务器->应用程序服务器中,点击要启用调试服务的应用服务器,然后进入调试服务,勾选上启动(指定当服务器启动时服务器是否将尝试启动指定的服务。)。JVM 调试端口默认为 7777,注意该端口不能有冲突(如有多个应服务器要启用调试服务时,需要指定别的端口)。其他选项默认,或根据实际来设定。

确定、保存后重启应用服务器,WAS Base 版需要回到操作系统下重启,如果是在 ND 管理控制台下,可直接在页面中重启应用服务器。

二:配置 Eclipse,使用远程调试

Eclipse 的菜单 Run -> Open Debug Dialog 窗口中,右击 Remote Java Application->New,在右方的 Conect 标签页中,选择你要调试的 Project(即发布到 WAS 下启用了调试服务的,在你的 Eclipse 中存在的项目),Host 填上 WAS 服务器的 IP,Port 就是前面的 JVM 调试端口。其他两个标签页 Source/Common 可留意下。

点击 Debug 按钮,这时候 Eclipse 即处理于侦听  WAS 服务器的 JVM 调试端口的状态。

三:打上断点,调试应用

在你的 Eclipse 中的项目(注意,该项目已部署到 WAS 上的) 要调试的代码行中打上断点,然后可以在网页上浏览 WAS 上的该应用。当执行到所在断点的代码行时,Eclipse 就会停在该行上,让你尽情的 F5/F6 的跳,像平时那样 Watch/Inspect/Display表达式或变量。

其他缺点就是:

1)观察不到控制台的输出,还得看 WAS 的 SystemOut.log 文件或日志文件。

2)JSP 文件无法调试,因为定位不到原码,并且这种方式也不足以聪明。

3)代码更新后,需手工把类文件或 JSP 文件拷到 WAS 的相应目录下。

4)启动了调试服务后,严重影响功能,通过鼠标点击就能感觉到,所以正式系统上完事后赶紧关了该功能。

时间: 2024-12-03 04:41:49

Eclipse远程调试WebSphere Application Server的相关文章

使用IBM WebSphere Application Server中Eclipse插件简化开发

本文将介绍如何使用 http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Application Server Developer Tools for Eclipse 插件简化对数据访问应用程序的开发,以便将应用程序发布在轻型应用程序服务 Liberty 配置文件环境中.本文包含一个基于 JPA 的示例数据访问应用程序,用于演示 Liberty 配置文件的动态功能. Liberty 配置文件是 IBM WebSphere

使用WebSphere Application Server Feature Pack for Web 2.0创建基于Ajax的

使用WebSphere Application Server Feature Pack for Web 2.0创建基于Ajax的动态Web应用程序 简介 与 Web 2.0 相关的技术,比如 Asynchronous JavaScript XML (Ajax).Web 远程和 Web 消息传递等,在当今的 Web 应用程序中变得日益流行.与传统 Web 应用程序相比,基于 Ajax 的应用程序 可以提供更好的响应性和交互性.在那些并入了 Ajax 架构的 Web 应用程序中 ,用户不需要等待整个

从Apache Tomcat迁移到WebSphere Application Server Liberty Profile

简介 Apache Tomcat 是一个 HTTP 服务器和 servlet 容器,常用于简单的 Web 应用程序,以及使用不需要完整的 Java EE 服务器的框架的应用程序.然而,用户经常会发现,当对 Apache Tomcat 有更多需求时,其最初的简单性就会变得复杂且不实用. 例如,也许 Apache Tomcat 安装的占用空间会变得太大,因为您需要添加第三方库来提供所需的功能.或者,服务器的启动时间也可能是一个问题,因为对 server.xml 文件的任何配置更改都需要重新启动 Ap

IBM Installation Manager创建并服务于WebSphere Application Server主映像

简介 本文所述的过程使用 IBM Installation Manager,且不需要将其安装在每个系统上.本文介 绍如何将重要的 Installation Manager 数据与产品映像一起打包,以便在部署映像之后可以对映像进行处理 .我们将首先回顾一下 Installation Manager 的一些基本知识. Installation Manager 基础知识 在典型的安装拓扑结构中,IBM Installation Manager 在每台计算机上安装一次.Installation Mana

WebSphere Application Server Community Edition入门

引言 IBM WebSphere Application Server Community Edition 是在 Apache Geronimo 之上构建的 Java 2 Platform, Enterprise Edition (J2EE) 应用服务器,由 Apache Foundation 创建的开放源代码应用服务器. 什么时候使用 WebSphere Application Server Community Edition 什么时候应该使用 WebSphere Application Se

WebSphere Application Server Community Edition中的应用程序日志记录

引言 应用程序日志记录提供了捕获在应用程序执行期间发生的各种事件的方法.它将收集关于应用程序在执行各种任务时在做什么的详细信息.此信息在调试.故障排除甚至审核方面很有用.WebSphere Application Server Community Edition(以下称为 Community Edition)提供了各种库,可帮助应用程序开发人员配置日志记录服务.这些库是: Log4j SLF4j java.util.logging java.util.logging 包是可用于所有标准 Java

如何将应用程序更轻松地迁移到WebSphere Application Server

Donald Vines & Andy Hoyt: Application Migration 工具如何将应用程序更轻松地迁移到 WebSphere Application Server 使应用程序分析和迁移更轻松 IBM WebSphere Application Server Migration Toolkit 的 Application Migration 工具能帮助您轻松地将应用程序从一个源应用服务器迁移到 WebSphere Application Server V7.0 上.源应用服

了解EJB调用如何在WebSphere Application Server V6.1中操作

序使用部署在 IBM WebSphere Application Server 中的 EJB Enterprise JavaBeans (EJB).与这些 EJB 组件通信需要使用到诸如 Internet ORB 间协议(Internet Inter-ORB Protocol,IIOP) 通信.JNDI 查找和工作负载管理等概念.此交互可能非常复杂,对许多 WebSphere 用户来说通常是个黑盒.本文提供有关 EJB 通信如何在 WebSphere Application Server 上下文

将JNDI用于WebSphere Application Server J2EE瘦客户端应用程序

引言 命名服务管理一组命名空间,解析数据对象的名称绑定问题.Java命名和目录接口(Java Namingand Directory Interface,JNDI) 是一组 API,它提供对命名和目录服务的访问.许多 Java 应用程序使用 JNDI 来定位资源,比如数据源和在 Java 2 企业版(Java 2 Enterprise Edition, J2EE)中注册的企业JavaBeans(Enterprise JavaBeans,EJB). IBM Java 瘦客户端应用程序提供了一种轻量