tomcat8.5启动过程远程调试
所属分类 tomcat
浏览量 1424
一般的调试
./catalina.sh jpda start
export JPDA_ADDRESS=8000
eclipse
project 右键 debug as / debug configurations / remote java application
JPDA Java Platform Debugger Architecture
tomcat 启动过程 远程调试 需要 使用以下参数
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9061"
server=y
等待客户端连接后再运行jvm
-XDebug 启用调试。
-Xnoagent 禁用默认sun.tools.debug调试器。
-Djava.compiler=NONE 禁止 JIT 编译器的加载。
-Xrunjdwp 加载JDWP的JPDA参考执行实例。
transport 用于在调试程序和 VM 使用的进程之间通讯。
dt_socket 套接字传输。
server=y/n VM 是否需要作为调试服务器执行。
address=3999 调试服务器的端口号,客户端用来连接服务器的端口号。
suspend=y/n 是否在调试客户端建立连接之后启动 VM 。
新建一个标准maven web 工程
增加 tomcat嵌入式 jar包依赖
tomcat.embed.version 8.5.0
org.apache.tomcat.embed
tomcat-embed-core
tomcat-embed-jasper
tomcat-embed-logging-juli
org.apache.catalina.startup.Bootstrap main 方法打上端点
部署一个tomcat
conf/server.xml 增加context
catalina.sh 增加
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9061"
启动 tomcat ,等待调试客户端连接
eclipse 工程 远程调试tomcat,启动
进入 Bootstrap main 方法设置的断点
其他服务端启动过程调试都可以采用此种方式
上一篇
下一篇
tomcat8.5类加载机制
tomcat8.5嵌入式启动
tomcat8.5架构概述
tomcat8.5 jsp编译过程
XML解析之Digester
tomcat8.5启动过程调试