idea远程debug
catalina.sh
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8900 -XX:+PrintGCDetails -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat/temp/heapDump -Xloggc:/usr/local/tomcat_uweb/logs/gc_tomcat.log"
JAVA_OPTS="-Xms1024M -Xmx2048M -Xss1024K -XX:PermSize=256M -XX:MaxPermSize=512M"
报错:java.net.ConnectException:Connection timed out:connect
原因分析:首先排除了IP端口账号和密码
出错原因:没有开放5672端口,我一直以为只要关闭防护墙就万事大吉了。
解决方法:
- 重新启动防火墙:systemctl start firewall
- 开放5672端口:firewall-cmd --zone=public --add-port=5672/tcp --permanent
- 重新加载:firewall-cmd --reload
idea remote

spring boot remote debug
jar
原文链接:https://blog.csdn.net/caoli201314/article/details/117914896
1、具体参数详解:
-Xdebug 通知JVM工作在DEBUG模式下;
-Xrunjdwp 通知JVM使用(Java debug wire protocol)运行调试环境。该参数同时包含了一系列的调试选项;
transport 指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另有dt_shmem指用共享内存方式,其中,dt_shmem只适用于Windows平台;
address 调试服务器的端口号,客户端用来连接服务器的端口号;
server=y/n VM 是否需要作为调试服务器执行;
suspend=y/n 是否在调试客户端建立连接之后启动 VM;
pom文件bulid属性修改:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!---Xdebug 通知JVM工作在DEBUG模式下;-->
<configuration>
<jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n</jvmArguments>
</configuration>
</plugin>
</plugins>
<!--打包指定输出包名-->
<finalName>${artifactId}</finalName>
</build>
2、启动jar并且带启动参数支持远程调试
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=15005 -jar remote-debug-v1.0.jar
war
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=15005

浙公网安备 33010602011771号