Eclipse远程调试Tomcat

来源:互联网 发布:永恒的记忆js下载 编辑:程序博客网 时间:2024/05/01 13:42
Remote Debugging with Eclipse说明了远程调试的原理,说明了让java程序支持被远程调用所需要的java参数如下
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
以及如何配置远程调试weblogic、jboss和tomcat,但是里面对如何让tomcat支持远程调用并没有仔细说。再搜索,在tomcat的FAQ就找到了:
How do I configure Tomcat to support remote debugging?
如上面所示,其中的关键在于如何正确的启动tomcat。对于非windows平台下的操作来说,需要把%TOMCAT_HOME%/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。如果的8000端口有其他用处的话,那么还需要修改catalina.sh文件,看其中的说明,添加一行JPDA_ADDRESS=”1044”或者其他你指定的端口。这样就可以通过startup.sh或者catalina.sh jpda start来其中支持远程调试的tomcat了。
在windows平台上是一样的步骤,只不过.sh文件改成了.bat文件了。然后需要注意以下这些地方,
1、 catalina.bat文件默认的JPDA_TRANSPORT是dt_shmem,但是Eclipse只支持dt_socket,所以需要在catalina.bat中添加一行set JPDA_TRANSPORT=”dt_socket”
2、 catalina.bat文件默认的端口是jdbconn,我也不知道这个端口是多少,因此添加一个set JPDA_ADDRESS="1044"
=================================================================================
在tomcat的catalina.bat文件中加入下面的设置,当然SET CATALINA_OPTS 变量应该在使用它之前。这是在tomcat启动时设置一些虚拟机参数,使服务器允许远程连接功能,address=5888表示远程连接的端口号,可以设置成任意其他不冲突端口。其他的应用服务器比如weblogic也应该可以设置这些参数,有兴趣的可以测试。

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888 这样就Ok了