今天同事说想在Linux下对Tomcat进行远程调试,eclipse却一直无法连接上。因为Linux上部属的是生产系统测试环境,并没有开启远程调试。
由于很少使用eclipse的debug功能,尤其是在多线程调试上使用断点反而会碍事。从网上搜索了一下,很多人都说只要添加如下参数即可
CATALINA_OPTS="$CATALINA_OPTS -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000" |
我把这段配置加入到用jsvc编写的Tomcat启动脚本中,很不幸,运行失败了。
其实使用Tomcat的远程调试最简单的方式是使用Tomcat bin目录下的catalina.sh脚本,进入bin目录后,运行:
#./catalina.sh jpda start
从jdk1.5开始还可以使用以下参数进行java程序的远程调试
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000
但是这些方式都无法用于使用jsvc方式启动Tomcat daemon。以下是使用google找到的解决办法:
CATALINA_OPTS="$CATALINA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000" |