看过许多远程调试的例子,大多数都是针对tomcat或者jboss服务器的,很少能搜索到weblogic服务器的远程调试例子和文章,前些天在项目开发的时候尝试了一下,感觉十分得不错,拿出来跟大家分享一下,不过我要多罗嗦几句。
远程调试的好处:我们现在开发的模式大多是本机用eclipse集成source管理环境,集成ant的编译环境,用weblogic插件集成运行环境,基本上一个eclipse又当爹又当妈的,这样的好处就是开发环境配置集中,普通的程序员只要按步骤做就可以了,开发步骤简单,对整个项目是一件好事。那么站在普通的程序员角度?什么也没有学到,就是在模仿而已,如果本机的硬件配置如果很低的话,意味着开发效率的降低,同时一点开发乐趣都没有,就是在实现业务而已,是很难了解工具本身的特点。远程调试的好处就是把集中的配置分散开来,让资源分配在不同的机器上,降低本机资源的使用。换一句话,就是将运行环境和开发环境的彻底的分离出来,对于那些实时对应和保守的程序员来说,简直就是一个福音,用户环境一旦出现什么bug的话,你个人可以在最短的时间内再现和调试,而不用运行本机的测试环境。
远程调试的准备知识:使用Java 平台调试架构,Java Platform Debugger Architecture,简称JPDA,具体的可以参照API文档里面的Tool Support里面的Java Platform Debugger Architecture (JPDA)(我的jdk文档是1.42的,如果是别的版本,你搜索一下jpda就可以找到相关的资料)。换一句话,我们借助于这个平台来debug应用程序,其实我们也会看到eclipse里面也有debug的,那么它们是不是一回事呢?我倒是搜索了一下,基本上eclpse的调试就是使用和扩充这个工具平台的,只不过远程调试需要我们自己手动配置而已,而你在本地调试的时候,那些配置都是插件帮你完成的,你本人就是一个使用者而已,所以没有关心的那么多。
具体的实现步骤:配置服务器的启动参数,如果熟悉weblogic的话,会发现weblogic更多是用java实现的。对于我们来说,如果是windows用户的话,你只需要修改domain
里面的startWebLogic.cmd批处理文件,你在这个文件里设置一个系统变量,
白话就是你添加一行set JAVA_DEBUG=-Xdebug -Xnoagent -Xrunjdwp: transport=dt_socket,address=4000,server=y,suspend=n。这样是不够的,你还需要将这句话添加到%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server里
修改后的结果%JAVA_HOME%\bin\java %JAVA_VM% %JAVA_DEBUG% %MEM_ARGS% %JAVA_OPTIONS%weblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server
这样做的目的就是让你启动weblogic的同时,把JPDA也启动起来,至于你的weblogic的实际启动参数是不是和我一样,我就不知道了,反正这么写的目的就是让JPDA的参数也加载到你的启动参数列表里,启动weblogic的同时也将JPDA启动起来,具体的修改还是根据自己的实际情况来定,但是目的是相同的。
配置客户端:这边使用的客户端工具自然就是eclipse了,原先你在本地的工程配置保持不变,换一句话说你也必须把自己的工程import到你的eclipse,使用和操作上和本地的没有任何的变化。但是你需要建立一个remote java Application,让后配置一下就可以了(可惜我不会在jr里上穿图片,否则抓一下图,一看就明白了)。简单地说,在你的debug里有java application,java applet,junit等等,当然那里也有remote java Application,你新建一个就可以了,简单配置一下远程主机的地址和监听端口(就是你在服务器配置过程指定的4000),选择一下你的工程,然后给这个remote java Application起个名字之类。
需要注意的地方:在你debug的时候,一定要保证你本地的source和服务器上运行的环境上的跑的class一致,换一句话说一定要及时更新source,否则debug的结果就是莫名其妙的。还有你把自己的source编译后的jar包或者文件夹放到服务器上,一定要每次都发布一遍,如果你偶尔忘记一次,那么虽然你服务器上跑的class和本地的source一致,由于你没有发布,那么debug的结果,也不一致了,所以保持一致性是两重的含义。
小结
其实配置远程debug并不困难,基本的原理很简单,服务器端在启动的服务器的同时,也把JPDA明确的启动起来,分配一个端口号,那么你在客户端只要连接上JPDA服务(sun称为工具平台,我个人称为服务)便能测试了,给我的感觉更像是一个socket编程实现的服务。至于其他的服务器的远程调试?原理一定是一样的,只不过你需要根据它们提供的文档,相应的修改远程调试的参数而已。同时声明一下,我个人的水平也是很一般,在认识和经验上也有一定的欠缺,如果本贴子有什么不妥和不对的地方,请大家指出和共同学习。
分享到:
- 2006-11-30 11:32
- 浏览 2172
- 评论(1)
- 论坛回复 / 浏览 (1 / 4927)
- 查看更多
相关推荐
如果你的应用程序是开源的,Eclipse允许你在服务器运行时直接调试源代码。只需设置好断点,当应用程序执行到断点时,Eclipse会暂停并提供变量值查看、步进执行等功能。 9. **热部署**: Eclipse支持热部署,即在...
远程Debug允许开发者在不中断生产环境服务的情况下,通过网络连接到运行中的WebLogic实例,对应用代码进行调试。这通常涉及到设置服务器端的Debug端口,并在IDE(如Eclipse或IntelliJ IDEA)中配置相应的Debug连接。...
WebLogic是Oracle公司的一款强大的Java EE应用服务器,它提供了企业级的环境来部署、管理和运行基于Java的应用程序。而WebLogic Eclipse插件是专为Eclipse集成开发环境(IDE)设计的工具,使得开发者能够在Eclipse中...
- **调试支持**:集成 WebLogic 调试器,可以在 IDE 内部对运行在 WebLogic 上的代码进行断点调试。 - **配置管理**:提供图形化的界面来配置 WebLogic 服务器的参数和设置。 - **资源管理**:可以创建、编辑和...
WebLogic Tools for Eclipse 3.4 是一个集成开发环境(IDE)插件,专为在Eclipse平台上开发、测试和部署Oracle WebLogic Server应用程序而设计。这个版本的工具集为开发人员提供了强大的功能,帮助他们更高效地进行...
- 在 "Connection Properties" 中,输入之前在WebLogic Server设置的远程调试端口号(例如:8453)。 - 点击 "Apply" 并 "Debug",Eclipse将尝试连接到WebLogic Server。 7. **开始调试**: - 当WebLogic Server...
2. **设置远程调试**:在你的IDE(如Eclipse或IntelliJ IDEA)中,创建一个新的远程调试配置。配置中需要指定远程服务器的IP地址和之前设置的端口号,以及调试会话的其他参数。 3. **设置断点**:在你的源代码中,...
1. **调试支持**:通过Eclipse的调试工具,你可以设置断点,对WebLogic Server上的应用程序进行远程调试,查看变量值,控制执行流程。 2. **生命周期管理**:轻松启动、停止、重启WebLogic Server,以及部署、卸载...
配置Maximo Eclipse的主要目标是创建一个高效的开发环境,支持Maximo6的源代码编辑、调试和热部署,以提升开发速度和代码质量。通过Eclipse的集成,开发者可以实现单步跟踪代码,实时查看系统运行状态,快速定位并...
- **IDE集成**:Eclipse、IntelliJ IDEA等主流Java IDE都支持与WebLogic的集成,简化开发和调试过程。 - **Maven/Gradle插件**:构建工具如Maven和Gradle有专门的WebLogic插件,方便进行打包和部署操作。 - **Ant...
这通常涉及选择Web项目模板,配置WebLogic Server作为部署目标,编写Java源代码,设计Web页面(HTML、JSP等),并配置Web应用的部署描述符(web.xml)。 - 使用WebLogic提供的管理控制台,可以对Web应用进行部署、...
6. **调试配置**: 为了进行开发调试,需要在Eclipse的"Run Configurations"中创建WebLogic Server的启动配置,开启远程调试端口,并在Maximo项目中设置断点。 通过以上步骤,你就成功地在Eclipse中配置好了Maximo的...
2. 引入了`RemoteException`和`EJBException`,这两个异常类在EJB中常用,分别表示远程调用失败和EJB运行时错误。 3. `SessionBean`接口是EJB规范中的核心接口,定义了会话bean的基本行为。 4. `SessionContext`接口...
XDoclet是Workshop中使用的一个工具,用于从Java源代码的注释中自动生成额外的代码或文档。XDoclet的核心思想是“注释即代码”,允许开发者在注释中定义元数据,如数据库映射、Web服务描述或验证规则。Workshop利用...
11. **开发与调试工具**:WebLogic Server可与Eclipse、IntelliJ IDEA等IDE集成,便于开发、部署和调试应用。 12. **监控和诊断**:使用JMX(Java Management Extensions)和WLST(WebLogic Scripting Tool)可以...
- **源代码编辑**:掌握代码编辑器的使用,如自动完成、重构、调试和版本控制集成。 2. **Eclipse插件生态** - **插件系统介绍**:Eclipse的核心之一是其强大的插件系统,允许扩展各种语言和工具支持。了解插件...
6. **部署和调试**: 将应用部署到WebLogic Server上,通过JBuilder的远程调试功能进行线上问题排查。 7. **发布和维护**: 应用上线后,进行性能监控和优化,根据用户反馈进行迭代更新。 通过WebLogic与JBuilder的...
6. **代码生成**:Eclipse可以根据JSP标签自动生成对应的Java源代码,帮助快速开发。 Lomboz作为Eclipse的扩展,还提供了以下功能: 1. **EJB支持**:除了JSP,Lomboz还支持Enterprise JavaBeans(EJB)的开发,...
- **部署工具**:能够快速将应用程序部署到本地或远程服务器,支持多种应用服务器如Tomcat、JBoss、WebLogic等。 - **Web服务工具**:支持创建、测试和调试Web服务,兼容WSDL、SOAP和RESTful服务。 - **版本控制...