IDEA远程调试debug

一、背景

使用IDEA本地项目开发和debug没有问题,但是打包部署到其他环境会出现各种问题,有些系统异常会被另一个异常给覆盖,不会记录在日志系统中,远程断点调试可以帮助解决这个问题

二、本地IDEA debug

在IDEA以debug模式启动程序的时候,会默认起一个监听的socket服务
在这里插入图片描述
这个端口的服务会监听到断点的代码的运行状态

二、主服务开启远程调试

在主服务的VM系统参数里面增加配置

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

其中5005是类似本地debug开的那个端口

1.jar包项目
通过以下配置启动

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar xxx.jar

2.war包项目
在tomcat的catalina.sh文件中添加

JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

3.使用另一个IDEA
当然都在IDEA上面没必要了,不过IDEA可以添加VM启动参数
IDEA远程调试debug_第1张图片

三、调试服务连接远程

添加Remote,配置如图,填上对应的ip和端口
IDEA远程调试debug_第2张图片
然后以Remote启动连接远程的,这个时候需要注意

1.本地代码和运行的主服务代码需要保持一致
2.连接不上ip和端口可能存在防火墙

调试服务的代码上打入断点,运行主服务的话,主服务就会停在断点位置

你可能感兴趣的:(IDEA远程调试debug)