HardBirch

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

时间:17-01-05 栏目:Redis运维, Spring 作者:魔豆先生 评论:0 点击: 1,017 次

一直想分享一下,因为有些同事用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并不是诊断和解决问题的唯一方法,很多时候分析运行日志能更快地发现原因和解决问题.

声明: 本文由( 魔豆先生 )原创编译,转载请保留链接: 用eclipse如何debug部署在tomcat上的应用

用eclipse如何debug部署在tomcat上的应用:等您坐沙发呢!

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐