远程调试服务器Tomcat
线上环境出现了问题后,如果日志输出不充分的情况下很难定位问题,通过Eclipse远程调试服务器则可以通过断点的方式精准跟踪问题。
服务器端准备(Tomcat)
配置Tomcat/bin/startup.bat
在前面增加代码:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
其中8000
即为我们远程调试的端口,后面会用到。
配置完成后,重新启动Tomcat
即可启动调试模式。
注:
- 这块可以单独写一个debug.sh脚本来完成debug模式的启动,与正常的start.sh分开会更加方便
- address的绑定也可以绑定指定的调试IP,或者配置通用的,
0.0.0.0:8000
本地配置(Eclipse)
点击Eclipse
上面的debug图标,选择Debug Configurations,打开窗口找到Remote Java Application,双击进入配置界面。
- 名称: 给该配置起一个有标识性的名字
- Project: 选择远程运行的代码对应的源码工程
- Connection Type: 连接类型,选默认即可
Stand(Socket Attach)
- Host: 远程服务器IP
- Port: 调试端口,就是我们上文配置的
8000
完成配置后点击debug即可进入调试模式。
此时服务器的请求会转发到Eclipse
进行跟踪