在网上找了找关于远程调试的配置,记录在这里以备后续查找!
平常我们都是用windows开发,但是有时候需要将tomcat部署到linux下去运行,比如执行shell脚本。这个时候我们就需要在linux环境下进行调试。我们可以利用myeclipse的远程调试功能,来进行操作。-- 远程调试tomcat的配置,也可以是其他的web应用服务器,但是配置是不一样的。
情况分类:
1、tomcat在window下。
打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999
其中address=8787是没被使用的端口号。连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。
2、tomcat在linxu下。
在tomcat的catalina.sh文件的正文的第一行添加:
declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999"
配置完成tomcat之后,启动tomcat(正常启动方式),可以查看监听端口是否已经监听。
[root@UC100C ~]# netstat -antp | grep 9999
tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN 24178/./jdk1.6.0_31
[root@UC100C
然后在eclipse中的debug的参数配置中,添加要调试的项目名称,
添加要tomcat所在的主机的IP 地址和tomcat 调试的端口号address=9999。
然后点击debug 按钮,如下图
通过正常的访问方式(http://远程IP:8080/index.jsp),进行代码的调试工作.
按键操作:
1、F5键与F6键均为单步调试,F5是进入本行代码中执行,F6是执行本行代码,跳到下一行;
2、F7是跳出函数;
3、F8是执行到最后。
现在就可以在调试的地方打断点进行调试了。(进入debug模式,然后发现一个删掉的标志,停止按钮的右边,表示已经和远程的Linux下的tomcat链接上了,然后就可以本地调试了),如下图:
以下是本文用到的参数:
-Xdebug启用调试特性。 -Xrunjdwp:从 Java V5 开始,您可以使用 -agentlib:jdwp 选项,而不是 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug 和 -Xrunjdwp。下面简单描述 -Xrunjdwp 子选项。
transport这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。 server如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。 address这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。 suspend如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。还有一种方法(同第一种只是启动方式不一样):
用Java的JPDA远程调试程序
在catalina.sh的配置文件中,修改JPDA_ADDRESS 对于的端口(要进行远程调试的端口),
使用命令./catalina.sh jpda start
启动tomcat服务
4. 在eclipse中的debug的参数配置中,添加要调试的项目名称,
添加要tomcat所在的主机的IP 地址和tomcat 调试的端口号address=9999。
然后点击debug 按钮。
通过正常的访问方式(http://远程IP:8080/index.jsp),进行代码的调试工作(有的人在地址处说要给localhost,但是经过本人的尝试,是不可以的,必须和正常访问的相同)。
解决:Eclipse调试tomcat时报45秒超时 2011-12-21 14:07:16标签:tomcat 职场 休闲 45秒
修改 workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml文件。
在eclipse下双机tomcat就可以看到Tomcat的servers.xml配置文件,修改其中timeout的参数值,我一般都是修改为4500.
2014年12月31日更新maven项目的远程调试
上面的配置还是需要的,并且一样,只是需要在工程的pom.xml中增加一个插件即可:
代码如下:
org.codehaus.mojo
tomcat-maven-plugin
然后操作任然和上面的一样。。。。