IntelliJ Idea 远程调试Java服务

1、背景

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

2、准备
  • idea IDE、远程服务源码
  • 远程服务
  • 测试客户端
3、部署图

部署图

由于是对源码进行调试,源码经编译后运行在远程服务器上,并且在本地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 连接远程服务
    按照下图的三个步骤进行操作,建立远程连接。
    连接

  • 4.3 debug
    在远程服务启动后,点击下图中的虫子(shift+F9)进行调试,并在代码中设置好断点。

debug

  • 4.4 客户端请求

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

5、备注

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

最新回复(0)
/jishu7VX4YFo5Ssd825xUq9EDNWnokl8zkPjbxa4SS9o3KKY_3D4795145
8 简首页