Eclipse远程调试tomcat下部署的项目
Eclipse不仅可以调试本地代码,也可以远程调试部署在服务器上的项目代码,这点在调试本地无法重现的问题上意义尤为重大。
工具/原料
-
Eclipse
-
tomcat及tomcat下部署的项目
-
Windows环境
方法/步骤
-
首先在tomcat\bin下的catalina.bat中添加允许远程调试的参数SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=11111。其中address=11111的值可变,代表远程调试端口
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=11111
注: 11111为远程使用的端口任选--使用前未被占用
-
重启tomcat服务。在Eclipse中配置远程调试。debug---debug configurations…打开debug configurations框,右击remote java application选择new,其中project是选择要调试的项目名称,host是要调试的服务器的IP地址,post是远程调试端口,即第一步的11111。点击debug
-
点debug后,远程调试联通后的效果如图。
-
在代码上设置断点,可以设置方法断点,这样即使代码有轻微不一致,只要有此方法,就可以截住
-
准备结束。开始调试。操作项目界面,当执行到断点时就会截获。效果如图,
注意事项
-
本机和服务器要能联通
-
服务器端代码和本地尽量一致