IntelliJ Idea 远程调试Java服务

声明:原创文章,转载请注明出处。https://www.jianshu.com/p/0152d13c0768

1、背景

在很多情况下,服务端程序部署在远程,某部分逻辑出现问题时,不停地对代码修改,增加log查出问题根源。但是,有些服务启动时间较长、不断的打包、上传、测试会令人非常头疼。因此,可以使用远程调试的方式对远程部署的服务调试。

2、准备

  • idea IDE、远程服务源码
  • 远程服务
  • 测试客户端

3、部署图

IntelliJ Idea 远程调试Java服务_第1张图片
部署图

由于是对源码进行调试,源码经编译后运行在远程服务器上,并且在本地Idea IDE中打开源码。在Idea连接上远程服务后,测试请求远程服务,在可以看到idea中设置的断点信息。

4、步骤

  • 4.1 远程服务运行增加特定JVM参数
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=8889

其中,address=8889为debug端口,idea需要连接此端口。

  • 4.2 Idea 连接远程服务
    按照下图的三个步骤进行操作,建立远程连接。


    IntelliJ Idea 远程调试Java服务_第2张图片
    连接
  • 4.3 debug
    在远程服务启动后,点击下图中的“虫子”(shift+F9)进行调试,并在代码中设置好断点。

IntelliJ Idea 远程调试Java服务_第3张图片
debug
  • 4.4 客户端请求
IntelliJ Idea 远程调试Java服务_第4张图片
测试请求

从图中看到,当请求后,变量值不仅动态出现在代码后面,而且在底部也有相应的变量值。

5、备注

只有添加的断点中有对号时,才表示断点有效。
如果出现下图的情况,可以看看是否是禁用了断点

IntelliJ Idea 远程调试Java服务_第5张图片
备注

你可能感兴趣的:(IntelliJ Idea 远程调试Java服务)