idea远程调试服务器上的代码

1、保证本机的代码和服务器上部署的一样。
2、添加远程tomcat。
idea远程调试服务器上的代码_第1张图片
3、配置远程服务器ip以及端口。
idea远程调试服务器上的代码_第2张图片
4、配置本地开启调试的端口号。
idea远程调试服务器上的代码_第3张图片
5、将调试信息拷贝到tomcat/bin/catalina文件中。

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

拷贝到catalina文件的上方即可
idea远程调试服务器上的代码_第4张图片
6、重启tomcat,判断配置是否成功。
在这里插入图片描述
7、idea中debug启动。
idea远程调试服务器上的代码_第5张图片
远程调试原理:
 Java程序的执行过程分为以下几个步骤:Java的文件 - - 编译生成的类文件(class文件) - - JVM加载类文件 - - JVM运行类字节码文件 - - JVM翻译器翻译成各个机器认识的不同的机器码。
 众所周知,Java 程序是运行在Java 虚拟机(JVM )上的,具有良好跨平台性,是因为Java程序统一以字节码的形式在JVM中运行,不同平台的虚拟机都统一使用这种相同的程序存储格式。因为都是类字节码文件,只要本地代码和远程服务器上的类文件相同,两个JVM通过调试协议进行通信(例如通过插座在同一个端口进行通信),另外需要注意的时,被调试的服务器需要开启调试模式,服务器端的代码和本地代码必须保持一致,则会造成断点无法进入的问题。
idea远程调试服务器上的代码_第6张图片
 这个架构其实质还是JVM,只要确保本地的的的Java的源代码与目标应用程序一致,本地的Java源码就可以用插座连接到远端的JVM,进而执行调试。因此,在这种插座连接模式下,本地只需要有源码,本地的Java应用程序根本不用启动。

 传输方式:默认为Socket。
 套接字:MACOS及的的Linux的系统使用此种传输方式。
 共享内存:WINDOWS系统使用此种传输方式。
 调试模式:默认为Attach。
 Attach:此种模式下,调试服务端(被调试远程运行的机器)启动一个端口等待我们(调试客户端)去连接。
 听:此种模式下,是我们(调试客户端)去监听一个端口,当调试服务端准备好了,就会进行连接。
idea远程调试服务器上的代码_第7张图片

你可能感兴趣的:(IntelliJ,IDEA)