如何远程调试tomcat
一,Linux环境下
1. 服防火墙打开8000端口,允许外网访问;
2. 修改catalina.sh:搜索到如下行:
JPDA_ADDRESS="localhost:8000"
改为:
JPDA_ADDRESS="0.0.0.0:8000"
意为:允许所有ip连接到8000端口,而不仅是本地。
参考catalina.sh.debug的配置。
2. 执行下列命令开启调试模式:
/usr/local/tomcatDev/bin/catalina.sh jpda run
3. 在tomcat上创建远程调试,地址为tomcat所在服务器,端口为8000.
4. 在eclipse中,通过Debug Configuration - > Remote Java Application - > new 创建一个远程调试
二,Windows环境下
1. 服防火墙打开8000端口,允许外网访问;
2.在tomcat的bin目录下创建一bat文件,如debug.bat,将其内容修改为一下
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
startup
3.双击debug.bat即可以debug的方式启动tomcat
4. 在eclipse中,通过Debug Configuration - > Remote Java Application - > new 创建一个远程调试
三,相关名称解释:
1. jpda:Java Platform Debugger Architecture , Java平台调试架构,由Java虚拟机和调试平台组成。
11. Java虚拟机提供了Java调试的功能
12. 调试平台通过调试交互协议向Java虚拟机请求服务以对在虚拟机中运行的程序进行调试
这里我们的eclipse就是那个调试的前台。我们需要将本地的调试平台和服务器运行的项目结合起来。
2. 调试平台的Socket Attach 与 Socket Listen方式
两种方式的区别目前不太清楚,有知道的朋友们可留言
来源:oschina
链接:https://my.oschina.net/u/948369/blog/793513