was远程调试

一:WAS远程调试
实际上 WAS 就支持远程调试的设置,打开它,你只需要用 Eclipse Debug 中的 Remote Java Application 功能连接到服务器上相应端口即行。设置很简单,这样的办法你甚至可以在闲时偷偷的调试一下生产环境的 WAS 应用以验证测试环境难以/无法重现的问题。具体做法如下(WAS 5.x 和 6.x 下的操作基本相同):

  一:配置 WAS,打开调试服务
     进到 WAS(或ND) 的管理控制台,在服务器->应用程序服务器中,点击要启用调试服务的应用服务器,然后进入调试服务,勾选上启动(指定当服务器启动时服务器是否将尝试启动指定的服务。)。JVM 调试端口默认为 7777,注意该端口不能有冲突(如有多个应服务器要启用调试服务时,需要指定别的端口)。其他选项默认,或根据实际来设定。
   确定、保存后重启应用服务器,WAS Base 版需要回到操作系统下重启,如果是在 ND 管理控制台下,可直接在页面中重启应用服务器。

  二:配置 Eclipse,使用远程调试
  Eclipse 的菜单 Run -> Open Debug Dialog 窗口中,右击 Remote Java Application->New,在右方的 Conect 标签页中,选择你要调试的Project(即发布到 WAS 下启用了调试服务的,在你的 Eclipse 中存在的项目),Host 填上 WAS 服务器的 IP,Port 就是前面的 JVM 调试端口。其他两个标签页 Source/Common 可留意下。

  点击 Debug 按钮,这时候 Eclipse 即处理于侦听  WAS 服务器的 JVM 调试端口的状态。
  
  三:打上断点,调试应用
  在你的 Eclipse 中的项目(注意,该项目已部署到 WAS 上的) 要调试的代码行中打上断点,然后可以在网页上浏览 WAS 上的该应用。当执行到所在断点的代码行时,Eclipse 就会停在该行上,让你尽情的 F5/F6 的跳,像平时那样 Watch/Inspect/Display表达式或变量。

  其他缺点就是:
  1)观察不到控制台的输出,还得看 WAS 的 SystemOut.log 文件或日志文件。
  2)JSP 文件无法调试,因为定位不到原码,并且这种方式也不足以聪明。
  3)代码更新后,需手工把类文件或 JSP 文件拷到 WAS 的相应目录下。
  4)启动了调试服务后,严重影响功能,通过鼠标点击就能感觉到,所以正式系统上完事后赶紧关了该功能。

二:tomcat7远程调试
关于tomcat7.0
已经默认支持jpda
export  JPDA_ADDRESS=8017
catalina.bat jpda run  或者 catalina.bat jpda start
默认端口 8000

猜你喜欢

转载自javakill.iteye.com/blog/2106432