对于需要定位tomcat启动问题时可以使用.
debug模式启动: Tomcat会等待远程debug连接上之后,才启动.
1.修改catalina.sh
在文件开头,加入以下内容:
export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=0.0.0.0:8000
和配置远程debug的区别,这里的suspend=y,远程debug是suspend=n.
其中 8000是debug监听端口.
如果不用8000端口,比如9000,还需修改这 catalina.sh
的 JPDA_ADDRESS
变量(这个是tomcat默认的debug端口)为9000.
2.修改start.sh
文件最后一行,有一句:
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
修改为:
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
3.运行start.sh
日志catalina.out里会打印:
Listening for transport dt_socket at address: 8000
并停止在此,等待debug接入.
4.idea远程debug连接
idea 使用remote tomcat,端口8000, 以debug模式启动
即可远程debug.