习惯于直接在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 V6WebSphere Application Server V6
WAS WebSphere 启动 错误 troubleshooting
WebSphere Application Server V6.1 Security Handbook. WebSphere Application Server V6.1 Security Handbook. WebSphere Application Server V6.1 Security Handbook.
IBM 红皮书 WAS WebSphere Application Server Liberty Profile Guide for Developers
通过IBM WebSphere Application Server for Developers, 安装 WebSphere Application Server for Developers v8.5 的全过程截图。
WebSphere Application Server集群和架构FAQ
WebSphere Application Server for Developers V8.5.5是供开发人员使用的免费版的was,需要的小伙伴可以本地安装一下 ,部署测试web项目,因为上传空间有限,这里就只上传windows64位的。
WebSphere Application Server9.0.0.2 安装包百度云盘资源地址,非商业用途,仅供学习使用。
IBM WebSphere Application Server v7.0 Security
Websphere Application Server 6.0配置与管理
WebSphere Application Server 8.0安装指南,完全原创,根据自己的安装全程截图并配详细的文字说明。
WebSphere Application Server V6 Security Handbook主要描述was中的安全机制问题
WebSphere Application Server v6.1 应用管理
WebSphere Application Server V6 System Management & Configuration Handbook
IBM WebSphere Application Server - The Complete Reference Part I - Getting Started Chapter 1 - What Is WebSphere? Chapter 2 - Installing and Starting WebSphere Chapter 3 - Hello World (Wide ...
WebSphere Application Server ND V8.5集群,详细图解。
W38S1 Administration of WebSphere Application Server V5.pdf
在Websphere Application Server 经常会出现乱码,有时候可以在项目中去设置,但有时候也是Websphere 造成的,所以需要你手动去更改Websphere 的设置。
WebSphere Application Server V8.5 Administration and Configuration Guide for the Full Profile.pdf 英文文档
Websphere Application Server 6.1配置JDBC数据源 本文旨在于说明在 webSphere中发布项目和配置数据源。以图文的形式给出明确的配置指导。以配置oracle数据库数据源为实例,所有操作步骤都为实践后的操作步骤。