|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?web|源代码 看过很多远程调试的例子,年夜多半都是针对tomcat大概jboss服务器的,很少能搜刮到weblogic服务器的远程调试例子和文章,前些天在项目开辟的时分实验了一下,感到非常得不错,拿出来跟人人分享一下,不外我要多罗嗦几句。
远程调试的优点:我们如今开辟的形式年夜多是本机用eclipse集成source办理情况,集成ant的编译情况,用weblogic插件集成运转情况,基础上一个eclipse又当爹又当妈的,如许的优点就是开辟情况设置会合,一般的程序员只需按步骤做就能够了,开辟步骤复杂,对全部项目是一件功德。那末站在一般的程序员角度?甚么也没有学到,就是在仿照罢了,假如本机的硬件设置假如很低的话,意味着开辟效力的下降,同时一点开辟兴趣都没有,就是在完成营业罢了,是很难懂得工具自己的特性。远程调试的优点就是把会合的设置分离开来,让资本分派在分歧的呆板上,下降本机资本的利用。换一句话,就是将运转情况和开辟情况的完全的分别出来,关于那些及时对应和守旧的程序员来讲,几乎就是一个福音,用户情况一旦呈现甚么bug的话,你团体能够在最短的工夫内再现和调试,而不必运转本机的测试情况。
远程调试的筹办常识:利用Java平台调试架构,JavaPlatformDebuggerArchitecture,简称JPDA,详细的能够参照API文档内里的ToolSupport内里的JavaPlatformDebuggerArchitecture(JPDA)(我的jdk文档是1.42的,假如是其余版本,你搜刮一下jpda就能够找到相干的材料)。换一句话,我们借助于这个平台来debug使用程序,实在我们也会看到eclipse内里也有debug的,那末它们是否是一回事呢?我却是搜刮了一下,基础上eclpse的调试就是利用和扩大这个工具平台的,只不外远程调试必要我们本人手动设置罢了,而你在当地调试的时分,那些设置都是插件帮你完成的,你自己就是一个利用者罢了,以是没有体贴的那末多。
详细的完成步骤:设置服务器的启动参数,假如熟习weblogic的话,会发明weblogic更多是用java完成的。关于我们来讲,假如是windows用户的话,你只必要修正domain
内里的startWebLogic.cmd批处置文件,你在这个文件里设置一个体系变量,
口语就是你增加一行setJAVA_DEBUG=-Xdebug-Xnoagent-Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n。如许是不敷的,你还必要将这句话增加到%JAVA_HOME%injava%JAVA_VM%%MEM_ARGS%%JAVA_OPTIONS%-Dweblogic.Name=%SERVER_NAME%-Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE%-Djava.security.policy="%WL_HOME%serverlibweblogic.policy"weblogic.Server里
修正后的了局%JAVA_HOME%injava%JAVA_VM%%JAVA_DEBUG%%MEM_ARGS%%JAVA_OPTIONS%weblogic.Name=%SERVER_NAME%-Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE%-Djava.security.policy="%WL_HOME%serverlibweblogic.policy"weblogic.Server
如许做的目标就是让你启动weblogic的同时,把JPDA也启动起来,至于你的weblogic的实践启动参数是否是和我一样,我就不晓得了,归正这么写的目标就是让JPDA的参数也加载到你的启动参数列内外,启动weblogic的同时也将JPDA启动起来,详细的修正仍是依据本人的实践情形来定,可是目标是不异的。
设置客户端:这边利用的客户端工具天然就是eclipse了,本来你在当地的工程设置坚持稳定,换一句话说你也必需把本人的工程import到你的eclipse,利用和操纵上和当地的没有任何的变更。可是你必要创建一个remotejavaApplication,让后设置一下就能够了(惋惜我不会在jr里上穿图片,不然抓一下图,一看就分明了)。复杂地说,在你的debug里有javaapplication,javaapplet,junit等等,固然那边也有remotejavaApplication,你新建一个就能够了,复杂设置一下远程主机的地点和监听端口(就是你在服务器设置历程指定的4000),选择一下你的工程,然后给这个remotejavaApplication起个名字之类。
必要注重的中央:在你debug的时分,必定要包管你当地的source和服务器上运转的情况上的跑的class分歧,换一句话说必定要实时更新source,不然debug的了局就是稀里糊涂的。另有你把本人的source编译后的jar包大概文件夹放到服务器上,必定要每次都公布一遍,假如你偶然健忘一次,那末固然你服务器上跑的class和当地的source分歧,因为你没有公布,那末debug的了局,也纷歧致了,以是坚持分歧性是两重的寄义。
小结
实在设置远程debug其实不坚苦,基础的道理很复杂,服务器端在启动的服务器的同时,也把JPDA明白的启动起来,分派一个端标语,那末你在客户端只需毗连上JPDA服务(sun称为工具平台,我团体称为服务)便能测试了,给我的感到更像是一个socket编程完成的服务。至于其他的服务器的远程调试?道理必定是一样的,只不外你必要依据它们供应的文档,响应的修正远程调试的参数罢了。同时声明一下,我团体的程度也是很一样平常,在熟悉和履历上也有必定的完善,假如本贴子有甚么不当和不合错误的中央,请人人指出和配合进修。
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架? |
|