【原】用IDEA远程Debug Tomcat服务
【环境参数】
Web容器:Tomcat 8.0
IDE:IDEA 2018.1.5
【具体步骤】
1、配置Tomcat容器参数
编辑$CATALINA_HOME/bin/catalina.sh脚本,加入如下参数: -agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y 如下图所示。
注意:监听的端口可以为任意没有被占用的端口号,在此为8000。 可以通过linux命令“# netstat –anp | grep 8000”,来查看Linux服务器上,8000端口是否被占用。
2、配置IDEA的Remote Debug相关参数 点击Run -> Edit Configuration,按照下图输入参数
3、启动Web应用
启动Tomcat容器,使得目标Web应用被加载,具体略。
4、启动IDEA端的Debug连接
在IDEA中,选择自己刚才配置的Remote的Name,之后点击Debug,如果控制台输出“Connected to the target VM, address: '10.10.244.36:8000', transport: 'socket'”,
则说明IDEA和远程Web应用连接成功,如下图所示。
5、在IDEA中打断点,开始Debug。
6、注意点
(1)Remote Debug导致会整个Web应用挂起
当远程Debug目标Web应用,会导致服务器上整个Web应用挂起,如果此时他人访问该应用,即使访问的页面资源目标并没有在自己设的端点上,也则会导致他人等待,直到自己Debug的端点放开,他人才能继续正常访问Web应用。
(2)两端的端口号不能被其他应用占用
可以通过linux命令“# netstat –anp | grep 8000”,来查看Linux服务器上,8000端口是否被占用。
(3)两端的Debug端口号要一致
IDEA端和Tomcat端监听的Debug端口一定要一致,并且没有被其他应用所占用。 可以通过linux命令“# netstat –anp | grep 8000”,来查看Linux服务器上,8000端口是否被占用。