Tomcat 8 源码学习九之远程调试Tomcat自身
Contents
如果我们想要在远程服务器上, 来调试Tomcat自身的话, 那应该如何做呢. 今天本想为Tomcat添加一个功能时, 发现配置一直没生效, 而且Tomcat一直就打印Found no logging.properties
. 实在没办法, 就想到远程调试一下Tomcat自身.
修改启动参数
复制一个startup.sh
, 假设复制后的文件名为debug.startup.sh
将原文件的
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
修改为以下的内容:
export JPDA_TRANSPORT=dt_socket
export JPDA_ADDRESS=8000
export JPDA_SUSPEND=y
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
即可.
启动
直接运行debug.startup.sh
即可.
这时,你会发现, 它在启动的时候, 会停留在以下类似信息这里, 等待你的调试器的连接了:
Listening for transport dt_socket at address: 8000
这时, 通过 IDE 来进行远程Debug即可.
关于如何将Tomcat源码导入到IDE中, 可以参考/2016/06/27/Tomcat-8-源码学习一之导入到IDEA/
这时就可以进行你的debug了. 这样子,Tomcat出现的问题, 都可以非常清楚地通过Debug来详细了解Tomcat内部的处理情况了.