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端口,我一直以为只要关闭防护墙就万事大吉了。
解决方法:

  1. 重新启动防火墙:systemctl start firewall
  2. 开放5672端口:firewall-cmd --zone=public --add-port=5672/tcp --permanent
  3. 重新加载:firewall-cmd --reload

idea remote

image

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
posted @ 2022-04-08 09:38  沉梦匠心  阅读(236)  评论(0)    收藏  举报