Debug是程序员调试程序,查找BUG的有效手段,如果是在测试环境甚至生产环境出现问题,而开发环境不可复现,远程Debug就显得尤为有用。
Tomcat开启远程debug端口
1.Windows下单独运行的Tomcat开启Debug端口:7777
%TOMCAT_HOME%\bin\catalina.bat文件在开始的部分添加代码:
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n
2.Linux下单独运行的Tomcat开启Debug端口:7777
$TOMCAT_HOME\bin\catalina.bat文件在开始的部分添加代码
CATALINA_OPTS="-server -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n"
3.eclipse中的Tomcat开启远程Debug端口
tomcat配置 -> Open launch configuration -> Arguments -> VM arguments中添加如下代码:
-server -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n
eclipses配置
Eclipse配置远程Debug服务
1.打开配置界面
配置远程Debug服务
2.配置远程Tomcat的IP地HOS址和Debug端口,这里为了测试,所以Host设置为本地
配置远程IP和Port
3.配置需要Debug的工程代码:Source
添加需要Debug的工程
至此所有配置完成。
测试配置是否生效
1.启动Tomcat,如果看到“Listening for transport dt_socket at address:7777”,说明Tomcat的Debug服务已经启动,监听端口为7777
Tomcat启动
2.开启Eclipse远程Debug功能
开启远程Debug服务
3.添加断点,程序运行到断点,eclipse自动进入Debug模式
进入Debug代码
问题记录
1.Failed to connect to remote VM.Connection refused
检查Tomcat远程debug服务是否开启;
检查Eclipse的Host和Port配置是否正确;
远程服务器防火墙是否关闭;
本地测试出现该问题,需要以管理员身份启动Tomcat