习惯于直接在eclipse里对本地的tomcat进行部署和调试。偶然发现远程调试也相当有意思。
Java的远程调试不仅仅限制于tomcat,基本上所有的中间件都可以。但不论是哪种中间件,远程调试都可以基于JPDA实现。(JPDA是啥?问问谷哥)。
下面分tomat和WebSphere来分别记录如何进行eclipse的远程调试。
1. Tomcat (测试用的版本是7.0.2)
远程调试必然是你情我愿的。因此eclipse想调试远程的tomcat,tomcat肯定不能用一般的状态来启动。
本质上,需要为tomcat提供启动参数的配置:
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
(简单解释一下,transport连接方式嘛,一般是套接字;suspend,是不是一启动就停下来等别人来调试;address,就是端口一类的)
恩,虽然参数不多,但是不是觉得还是很麻烦,是不是不知道在哪里配置?不用问google了,tomcat提供了一种比较简单的方式。事实上,用catalina.bat启动tomcat,这些jpda参数是有默认值的,比如address就是8000.那么如果不想改这些端口啥的,那我们只要这么执行:
Catalina.bat jpda start
然后你就会发现tomcat启动起来并且等着你远程调试了。。。;
被调试的整好了。那么另一边就是远程调试的人。打开eclipse,找到Debug Configurations...(自己找),添加一个Remout Java Application:
右边的详细内容中,project不用说,选带这个被调试项目源码的那个工程。ConnectType,是在自己这里调试还是跑到别人那边调试,一般选socketAttach. Host和Port不解释。第二个标签页source,一样是绑定源码。
都设置完了,启动这个remote-debug吧。然后在想断点的地方断点。你会发现断点是有效的,可以跟踪到的。
2. IBM WebSphere(测试用6.1版本的)
Was的远程调试的原理也是一样的,那么关键就在于在was中哪里可以找到配置并启用jpda那几个参数的地方?
网上资料很多。很快你就会发现在“应用程序服务器——具体的服务器——调试服务”里,可以看到这个熟悉的界面
启用,然后重启应用服务器(都说这种模式启动慢,我测试的时候倒没什么感觉)。
这样,被远程调试的一方又好了。那eclipse这边的配置和对tomcat的时候是一样的,只是端口什么的有点区别吧。改下,我们就能为运行在真实生产环境下的websphere项目进行可爱的断点调试了。(当然,前提得这个生产环境的网速够给力,否则,嘿嘿。。。。)
下面是"吃水不忘挖井人"时间。完成上面2个调试的测试,我参考了下面几篇文章:
http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/ (IBM的文章总是比较有质量的)
http://www.webagesolutions.com/knowledgebase/waskb/waskb013/ (讲的是websphereV5的,事实上高版本的也适用)
http://dev.mainsoft.com/Default.aspx?tabid=247 (觉得tomcat,websphere啥的不够?没关系,这篇文章里有你们想要的weblogic,JBOSS等远程调试的配置参数简单说明。自己去发掘吧)
最后,拿着eclipse写好的工具来远程调试,局限性很大。eclipse如何实现的这个东西,我们自己要实现一个小的远程调试要怎么做,还是值得去看一看的。。。之后如果有结果,再做记录。
Java的远程调试不仅仅限制于tomcat,基本上所有的中间件都可以。但不论是哪种中间件,远程调试都可以基于JPDA实现。(JPDA是啥?问问谷哥)。
下面分tomat和WebSphere来分别记录如何进行eclipse的远程调试。
1. Tomcat (测试用的版本是7.0.2)
远程调试必然是你情我愿的。因此eclipse想调试远程的tomcat,tomcat肯定不能用一般的状态来启动。
本质上,需要为tomcat提供启动参数的配置:
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
(简单解释一下,transport连接方式嘛,一般是套接字;suspend,是不是一启动就停下来等别人来调试;address,就是端口一类的)
恩,虽然参数不多,但是不是觉得还是很麻烦,是不是不知道在哪里配置?不用问google了,tomcat提供了一种比较简单的方式。事实上,用catalina.bat启动tomcat,这些jpda参数是有默认值的,比如address就是8000.那么如果不想改这些端口啥的,那我们只要这么执行:
Catalina.bat jpda start
然后你就会发现tomcat启动起来并且等着你远程调试了。。。;
被调试的整好了。那么另一边就是远程调试的人。打开eclipse,找到Debug Configurations...(自己找),添加一个Remout Java Application:
右边的详细内容中,project不用说,选带这个被调试项目源码的那个工程。ConnectType,是在自己这里调试还是跑到别人那边调试,一般选socketAttach. Host和Port不解释。第二个标签页source,一样是绑定源码。
都设置完了,启动这个remote-debug吧。然后在想断点的地方断点。你会发现断点是有效的,可以跟踪到的。
2. IBM WebSphere(测试用6.1版本的)
Was的远程调试的原理也是一样的,那么关键就在于在was中哪里可以找到配置并启用jpda那几个参数的地方?
网上资料很多。很快你就会发现在“应用程序服务器——具体的服务器——调试服务”里,可以看到这个熟悉的界面
启用,然后重启应用服务器(都说这种模式启动慢,我测试的时候倒没什么感觉)。
这样,被远程调试的一方又好了。那eclipse这边的配置和对tomcat的时候是一样的,只是端口什么的有点区别吧。改下,我们就能为运行在真实生产环境下的websphere项目进行可爱的断点调试了。(当然,前提得这个生产环境的网速够给力,否则,嘿嘿。。。。)
下面是"吃水不忘挖井人"时间。完成上面2个调试的测试,我参考了下面几篇文章:
http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/ (IBM的文章总是比较有质量的)
http://www.webagesolutions.com/knowledgebase/waskb/waskb013/ (讲的是websphereV5的,事实上高版本的也适用)
http://dev.mainsoft.com/Default.aspx?tabid=247 (觉得tomcat,websphere啥的不够?没关系,这篇文章里有你们想要的weblogic,JBOSS等远程调试的配置参数简单说明。自己去发掘吧)
最后,拿着eclipse写好的工具来远程调试,局限性很大。eclipse如何实现的这个东西,我们自己要实现一个小的远程调试要怎么做,还是值得去看一看的。。。之后如果有结果,再做记录。
相关推荐
在本文中,我们将详细介绍 WebSphere Application Server(WAS)启动错误的诊断方法。WAS 是一个复杂的应用服务器,启动过程中可能会出现各种错误,影响服务器的正常运行。了解 WAS 启动过程和诊断技术是确保服务器...
**WebSphere Application Server (WAS) 6.0** 的发布标志着IBM在企业级Java应用服务器领域的新里程碑。此版本不仅提升了性能、增强了功能,还提供了更加丰富的开发工具和支持文档,帮助开发者更高效地进行应用程序的...
WebSphere Application Server9.0.0.2 安装包百度云盘资源地址,非商业用途,仅供学习使用。
《IBM 红皮书 WAS WebSphere Application Server Liberty Profile Guide for Developers》是针对开发者的一份详细指南,旨在帮助他们理解并有效地使用WebSphere Application Server (WAS) 的Liberty Profile。WAS是...
### Eclipse远程调试WebSphere Application Server (WAS)代码详解 #### 一、远程调试的意义与应用场景 在软件开发过程中,特别是在分布式系统或大型企业级应用的开发中,开发者经常需要在远程服务器上运行和调试...
### WebSphere Application Server V6.1安全手册知识点详解 #### 一、概述 《WebSphere Application Server V6.1 Security Handbook》是IBM公司为WebSphere Application Server V6.1版本编写的安全指南。该文档...
WebSphere Application Server for Developers V8.5.5是供开发人员使用的免费版的was,需要的小伙伴可以本地安装一下 ,部署测试web项目,因为上传空间有限,这里就只上传windows64位的。
**WebSphere Application Server (WAS) V6** 是IBM提供的一款企业级应用服务器产品,它支持多种应用开发模型,如Java EE、Web Services等。本文将重点介绍在WAS V6环境中如何实现应用程序的自动安装功能。 #### 二...
根据提供的文档信息,我们可以推断出这是一份关于 IBM WebSphere Application Server V5 管理的培训材料。下面将详细介绍这份文档中的关键知识点。 ### 一、文档概述 此文档名为《W38S1 Administration of ...
IBM WebSphere Application Server (WAS) 是一款高性能的企业级应用服务器,适用于构建、部署和管理企业级Java应用程序。本指南旨在帮助开发者全面了解WebSphere Application Server V7,并提供详细的步骤来创建、...
WebSphere Application Server 8.0是IBM提供的一款企业级应用服务器,用于托管Java应用程序和Web服务。本安装指南将详细阐述在Windows操作系统上安装WebSphere 8.0的步骤。 首先,从IBM官方指定网址(可能已过期,...
WebSphere Application Server (WAS) V6 是 WebSphere 家族中的一个核心组件,它提供了一个强大的运行环境来支持 Java 应用程序的部署和管理。WAS V6 在原有的基础上增加了许多新功能,进一步增强了其在分布式环境中...
在WebSphere Application Server (WAS)环境中开启远程调试同样需要一定的配置: 1. **进入管理控制台**:首先登录到WAS的管理控制台,找到“服务器”->“应用程序服务器”。 2. **选择目标服务器**:选择需要启用...
在Java EE的世界里,WebSphere Application Server Community Edition(WAS CE)是一个重要的组成部分,它基于Java EE规范,为开发者提供了轻量级但功能强大的应用托管环境。该书的核心内容可能包括以下几个方面: ...
在IT行业中,WebSphere Application Server(WAS)是一款由IBM提供的企业级应用服务器,它能够支持各种Java应用程序和服务,如Java EE(Enterprise Edition)应用。本教程将详细讲解如何在WebSphere Application ...
通过IBM WebSphere Application Server for Developers, 安装 WebSphere Application Server for Developers v8.5 的全过程截图。
WebSphere Application Server集群和架构FAQ
本文档将详细介绍如何配置IBM WebSphere Application Server (WAS) 的SSL功能,包括IBM HTTP Server的HTTPS功能配置以及WebSphere Plugin与WebSphere Application Server之间的SSL安全认证配置。 #### 二、配置IBM ...