远程调试tomcat配置
作者:hanfeng 日期:20##-11-24
在代码开发过程中,有时候我们需要远程调试tomcat,这时需要对tomcat进行一些配置。
配置如下:
1. 配置tomcat配置文件
打开%CATALINE_HOME%/bin下的文件catalina.bat
set _EXECJAVA=%_RUNJAVA%
set MAINCLASS=org.apache.catalina.startup.Bootstrap
set ACTION=start
set SECURITY_POLICY_FILE=
set DEBUG_OPTS=
set JPDA=
加入下面这行:
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
2. 配置 Eclipse 调试
在Eclipse中选择Debug Configurations,在弹出的对话框中右击Remote Java Application新建一个远程调试项,如下如所示:
在“Name”输入框中输入远程调试的名称workflow8787,在“Project”中选择要调试的项目,在“Host”中输入需要远程调试项目的IP,也就是tomcat所在的IP,在“Port”中输入设置的端口号,比如上面设置的8787(这里的端口号要和tomcat中配置的端口号相同),然后钩选“Allow termination of remote VM”,点击“Apply”即可。
如图:
设置完后验证调试模式是否成功。
3. 验证配置
1、 启动tomcat(远程),如在控制台输出“Listening for transport dt_socket at address: 8787”,即说明在tomcat中设置成功;
如图:
2、 在Eclipse 中点击“Debug”[选择刚才配置debug,如workflow8787]启动调试。
3、 添加断点可进行代码调试。
第二篇:在Tomcat和Eclipse进行远程调试的配置
在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下:
第一步、配置tomcat
一、在windows系统中:
打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787。
其中address=8787是没被使用的端口号。连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。
二、在非windows系统中:
还需要把% CATALINE_HOME %/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。由于默认的端口是8000,所以如果8000端口已有他用的话,还需在catalina.sh文件中设置:JPDA_ADDRESS=8787。
输入命令startup.sh或者catalina.sh jpda start就可启动tomcat。 第二步、配置eclipse
在Eclipse中选择RunàDebug,在弹出的对话框中右击Remote Java Application新建一个远程调试项,如下如所示:
在“Name”输入框中输入远程调试的名称,在“Project”中选择要调试的项目,在“Host”中输入需要远程调试项目的IP,也就是tomcat所在的IP,在“Port”中输入设置的端口号,比如上面设置的8787,然后钩选“Allow termination of remote VM”,点击“Apply”即可。 设置完后就可以开始调试了,大概分一下几步:
1、 启动tomcat(远程),如在控制台输出“Listening for transport dt_socket at address: 8787”,即说明在tomcat中设置成功;
2、 在本机设置断点,即在需要监视的代码行前双击就会出现一个小圆点;
3、 进入上图界面,选择要调试的项,点击“Debug”即可进行远程调试;
4、 当运行到设置了断点的代码行处即可看到如下图所示的浅绿条。
按键操作:
1、F5键与F6键均为单步调试,F5是进入本行代码中执行,F6是执行本行代码,跳到下一行;
2、F7是跳出函数;
3、F8是执行到最后。
当然,为了方便,可以新建一个批处理文件,假如取名为debug.bat,在这个文件中加入下面几行:
cd %CATALINE_HOME%/bin
set JPDA_ADDRESS=8787
set JPDA_TRANSPORT=dt_socket
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787 startup
这样需要远程调试时,运行debug.bat即可;不需要远程调试时,还是运行startup.bat文件。