当前位置:   article > 正文

Idea之Java代码Remote JVM Debug_idea remote jvm debug

idea remote jvm debug

Idea之Java代码Remote JVM Debug

1、适用场景

​ 在公司中,java代码开发完成之后,一般都会部署到linux服务器上,以供公司客户进行使用。但是作为开发人员,尤其是一名新员工,了解公司产品源代码中的业务逻辑算的上是最重要的,代码量一般都是数万行,此时就需要进行Debug调试。由于公司产品环境搭建相当复杂,并且公司得前端页面直接绑定的也是远程服务器,此时就需要Remote JVM Debug来进行远程调试,来帮助我们理解代码。

2、具体步骤

(1)首先是要在jar启动上加入如下参数。-agentlib:jdwq代表启动了远程调试功能。

  • transport=dt_socket:指定使用套接字传输方式进行调试。
  • server=y:将 JVM 设置为调试服务器模式,等待调试器连接。
  • suspend=n:在启动时不要暂停 JVM,即不等待调试器连接。
  • address=0.0.0.0:40001:指定调试器连接的地址和端口。在这个例子中,JVM 将监听所有网络接口上的 40001 端口。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:40001
  • 1

(2)本地操作首先是idea中配置远程debug连接,如下图所示。需要设置你的服务器地址以及端口号即可。

Snipaste_2023-08-12_15-42-15 Snipaste_2023-08-12_15-47-05

(3)本地代码上设置断点。本地调试器设置的断点实际上是对远程 JVM 的断点请求。当远程 JVM 运行到设置的断点位置时,它会通过与远程调试器建立的连接通知远程调试器,并由远程调试器将此消息传递给本地调试器。本地调试器收到断点触发的通知后,就会进入本地调试模式,允许你在本地进行调试操作。在本地代码上设置断点,切记一定要设置上断点的条件,即右击断点进行设置。条件断点,顾名思义就是只有满足此条件的请求,才会被进行拦截,进入debug,断点条件最好设置成唯一ID。如果未设置断点条件,那么就会拦截所有请求,直接影响到服务器为其他客户提供请求服务。

(4)发送请求,然后进入本机开始debug。

兄弟萌,累了休息一下也无妨。人生本来就是走走停停,只要一直在路上就好!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/613296
推荐阅读
相关标签
  

闽ICP备14008679号