Eclipse远程调试Web应用
最近需要在原来的一个项目增加新的功能,把项目下下来后,发现项目超大,在Eclipse启动要不内存溢出,要不解析请求非常慢,无赖之下想到Eclipse远程调试.所谓Eclipse远程调试,就是源代码在Eclipse下,而应用程序通过本机和远程机器启动,Eclipse通过socket与应用进行通信,从而达到和本地一样效果的调试的目的.当然这种调试只适用于远程和Eclipse下的源代码相同的情况,如果Eclipse下的源代码经常变动的话,就显得很不方便.闲话少说,现在来看怎么配置远程调试.
一,配置web服务器
对于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。
对于jboss:
在windows系统下
修改$JBoss\jboss-4.0.4\bin\run.bat
set JAVA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n %JAVA_OPTS%
在非windows系统下
修改 $JBoss\jboss-4.0.4\bin\run.conf 文件,加入
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
二.配置Eclipse
在Eclipse中,选择要调试的项目, 右键"debug as->debug configuration ..";在出现的对话框中,选择“Remote Java Application” ,右键单击,在弹出的菜单中选择“New”,在出现的对话框中的“host”中输入Jboss服务器的 ip(本机则输入localhost或127.0.0.1),在“port”中输入调试的端口号(8787 ),选择“debug”开始调试;
剩下的步骤和在Eclipse下调试eclipse启动的项目相同
三.如果使用以上的配置后,Eclipse连接远程应用被拒绝,很可能是Eclipse使用代理造成的
解决办法:
Eclipse下选择window->Preferences->network connections,active provider中选择direct而不要选择manual,保存即可
已有 0 人发表留言,猛击->> 这里<<-参与讨论
ITeye推荐