用eclipse如何debug部署在tomcat上的应用(转)

一直想分享一下,因为有些同事用MyEclipse其实就是因为可以拿它来debug部署在tomcat上的应用。

myeclipse只不过是作了两个小动作:

1)用启用JPDA参数的模式启动了tomcat,以提供debug支持;

2)启动了一个Eclipse的RemoteJavaApplication;

 

这些通过tomcat和eclipse就可以做到。我简要说明一下。

配置tomcat的JPDA参数:

如果Tomcat使用的是JDK 1.5以上版本,那么JPDA可以使用JVMDI,配置方法为:

在tomcat的bin/catalina.bat文件中一开始加入:
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000
如果是Mac OS X或是Linux,则在bin/catalina.sh文件中一开始加入:
export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000
其中address中的端口不一定非用8000哦,也可以换成其他端口。

如果使用的是JDK 1.4,那么只能使用JVMPI了,见后面的说明。
实际debug

配置好JPDA参数后,按以下顺序即可debug了:
1)先以Debug模式启动tomcat;

即:在命令行下,进入tomcat的bin目录,执行catalina jpda start(会打开新窗口)或者catalina jpda run命令(在当前窗口,和catalina run类似);
2)再在eclipse中运行相应的Remote Java Application;

第一次运行时,需要先建立这个Remote Java Application. 方法为打开"Debug"->"Open Debug Dialog",新建一个Remote Java Application, 给个合适的名字,Connection Type选择"Standard(Socket Attach)", Host和端口指定为localhost:8000(和上面tomcat中配置的端口一致),如下图示:



3)根据需要在java/jsp中设置断点,跟踪调试了;(和您熟悉的MyEclipse下一样)

 

说明:

1)以上方法在Windows/Mac OS X,Tomcat 5.5.25下均测试通过;Tomcat 5.0.x和6.0.x则参见4楼;

2)如果是JDK 1.4,JPDA参数需要调整为-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=localhost:8000,不过没试过,可能个别参数还需要再调整一下;(建议用JDK 1.5,因为JVMDI比JVMPI强大很多)

3)JPDA的相关参数说明见 http://java.sun.com/j2se/1.5.0/docs/guide/jpda/conninv.html

4)debug并不是诊断和解决问题的唯一方法,很多时候分析运行日志能更快地发现原因和解决问题.


原文地址:

http://blog.sina.com.cn/s/blog_50197c290100gbop.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值