eagleshi 发表于 2017-2-18 11:23:06

使用Eclipse对weblogic进行远程调试

  一.环境说明
  weblogic12c,linux centOS 6.5,eclipse mars。
  二.步骤
  1.找到weblogic根目录下user_projects/domains/域名/bin/setDomainEnv.sh文件
  2.找到这个文件后,可以使用nano setDomainEnv.sh命令对文件进行修改(vi编辑器亦可),加入红框中的代码

  用“#”开头的是注释
  debugFlag="true",这句就是shell命名中为变量debugFlag赋值,注意等号左右不要有空格
  export debugFlag,这句是将debugFlag声明为环境变量,可以不需要
  3.重启weblogic
  ps -ef|grep java

  红框中是进程的pid,拿到这个pid后
  kill -9 26793
  这样就杀掉了weblogic的进程(相当于关闭weblogic),之后启动weblogic
  nohup ./startWeblogic.sh & tail -f nohup.out
  执行后能看到weblogic在命令行中输出启动信息
  4.设置eclipse

  Name 是服务器的别名,随便叫什么都行
  Project 是你要调试的工程名
  Host 是服务器的ip
  Port 默认是8453,除非你改了weblogic的调试端口,不然就是这个(注意开启linux的防火墙设置,不然tcp/ip连接不上)
  至此,我们就能通过在本地eclipse中打断点来调试远程weblogic上的代码了。这对我们sit测试来说非常的省时省力。因为出现bug时不需要重新部署工程,能直接在本地调试。
  三.补充说明
  很多blog里说,当开启了debug模式后,能在命令行里看到输出Listening for transport dt_socket at address:8453,,,可是,每次启动时输出的大量信息,要去找这句话真的比较难,反正我是一次都没看到过。
  所以我想到了另一个方法:
  修改startWeblogic.sh文件(nano startWeblogic.sh)

  加上了红框中的代码后,就能清晰的知道是否开启了debug模式。这也是为什么我要将setDomainEnv.sh中的debugFlag声明为环境变量。
  /*** 2016-04-13补充 ***/
  我竟然看到了启动信息,在这里:

  /*** 2016-04-13补充 ***/
  四.总结
  其实weblogic早就为我们准备好了debug模式的参数设置,它只需要一个标识来启动它,所以我们要将debugFlag="true",本质上来说,就是shell中为一个变量赋值。
  另外,linux下shell命令和windows下批处理命令是不一样,所以赋值语句也不一样,大家需要区分。
  祝大家sit测试顺利!
页: [1]
查看完整版本: 使用Eclipse对weblogic进行远程调试