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

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

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

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

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值