itstarting:IT进行时

想自己所想,做自己所爱

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  28 随笔 :: 3 文章 :: 55 评论 :: 0 Trackbacks

    对于开发和实施人员来说,也许大家经常会碰到这样的对话:

    实施工程师:系统有问题了,是哪里哪里(省略字若干+若干界面截图)
    开发工程师:不可能,我这边还原了整个环境,包括数据库、代码和中间件……
    实施工程师:这边是weblogic,你那边是?
    开发工程师:我的是Tomcat,但Tomcat和weblogic的差异呢,不知道……

    然后就没有结果,因为我们的个人电脑真的无法或者难以承受weblogic或者websphere之重。

    怎么办呢,其实我们可以用远程调试的方法:
   
    三步配置远程调试:
    一、对于TOMCAT:
      1、打开catalina.bat,并加入:
        SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5555
      2、配置Eclipse,如下图(此时Port与上面的address一致,是5555):

 
    3、如果Tocat已经起来(注意,可能在另外的机器上),那点击debug,即可进行与本地服务一样的调试过程。

    二、对于Weblogic:
      1、打开startWebLogic.cmd,并调整执行java命令的地方:
%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
调整为
@REM ORG : %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
@REM Surport Remote Debug :
set JAVA_DEBUG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_Socket,address=4000,server=y,suspend=n
%JAVA_HOME%\bin\java %JAVA_VM% %JAVA_DEBUG% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server
      2、其他配置类似Tomcat,如下:
    
    3、同样,如果weblogic已经起来(注意,我上面的例子就是weblogic不在本机上,而在于另外的机器上),那点击debug,即可进行与本地服务一样的调试过程,如下:

    大家也许会问:这样调试会不会影响客户使用?当然会影响,如果一旦hit了断点,则整个应用会被挂起。那怎么样才能尽可能的进行调试呢?方法还是有的:
    1、如果是tomcat,重新复制一份tomcat,修改一下端口,然后起来后调试,此时整个环境都类似了,调试起来非常方便;
    2、如果是weblogic,重新建立一个新的domain即可,互不干扰;
    3、如果是websphere,呵呵,没试过,留给大家的作业。

    原理?好奇的人还会问,其实就是jdwp(Java(tm) Debug Wire Protocol),有兴趣就google一下吧。

posted on 2007-06-13 16:22 IT进行时 阅读(2274) 评论(4)  编辑  收藏 所属分类: Java Tips

评论

# re: Tips:如何远程调试Tomcat或者Weblogic,解放我们脆弱的笔记本 2007-06-13 17:01 ddd
yes, 对于servicemix也是同样的方法。。。

  回复  更多评论
  

# re: Tips:如何远程调试Tomcat或者Weblogic,解放我们脆弱的笔记本 2007-06-13 17:32 BeanSoft
哥们, 你的图片是放在 file:///C:/DOCUME~1/ZHENGX~1/LOCALS~1/Temp//Catch4.bmp 的  回复  更多评论
  

# re: Tips:如何远程调试Tomcat或者Weblogic,解放我们脆弱的笔记本 2007-06-13 22:28 中东
大哥,你的图片怎么是你自己电脑上的啊!  回复  更多评论
  

# re: Tips:如何远程调试Tomcat或者Weblogic,解放我们脆弱的笔记本 2007-06-13 23:57 IT进行时
哈哈,更正了图片,没想到blogjava的图片这么麻烦……  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: