原用IDEA远程Debug Tomcat服务

Posted zjrodger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原用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端口是否被占用。

以上是关于原用IDEA远程Debug Tomcat服务的主要内容,如果未能解决你的问题,请参考以下文章

IDEA远程调试Java代码

IDEA远程调试Java代码

IDEA远程调试Java代码

Intellij IDEA 远程debug远程tomcat部署项目

Tomcat使用IDEA远程Debug调试

TOMCAT-IDEA远程debug方法