IDEA远程调试(Remote Debug)Java代码指南

前言

当我们的代码在线上/测试环境运行出现异常需要进行问题定位时,之前的传统做法是:查看异常日志,根据日志定位到出错代码,然后再根据相关参数及异常信息进行推断。但是很多异常问题需要更细致的进行debug才能够更精准的去定位和解决,这种情况下,我们希望能够像在本地调试一样去debug线上/测试环境的代码,这样可以大大提升bug修复的效率,IDEA非常贴心的为我们提供了这一功能,具体用法如下:

配置步骤

远程服务启动参数

使用如下命令启动服务端程序;

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5005 -jar 待发布的程序jar包名称.jar

IDEA远程调试(Remote Debug)Java代码指南_第1张图片

本地IDEA配置

1.菜单栏选择 Run | Edit Configurations 或按快捷键 Alt+Shift+F10 然后选择 “0.”;
2.在 Run/Debug Configurations面板,点击左上角“+”号,然后选择“Remote”;
3.配置“Remote” 属性:

  • Name:配置Remote Debug的名称,可以是任意名称;
  • Host:配置服务器的域名或ip地址,Port 使用默认值5005,也可以是其他端口;
  • Command line arguments for remote JVM:配置Debug远程服务的命令行启动参数,本地在Debug时会监听远程服务的对应端口并运行调试环境,具体的参数说明如下:

    • -Xdebug:JVM在DEBUG模式下工作;
    • -Xrunjdwp:JVM使用(java debug wire protocol)来运行调试环境;
    • transport:监听Socket端口连接方式,常用的dt_socket表示使用socket连接;
    • server:=y表示当前是调试服务端,=n表示当前是调试客户端;
    • suspend:=n表示启动时不中断;
    • address:表示本地监听的地址和端口。

IDEA远程调试(Remote Debug)Java代码指南_第2张图片

IDEA远程调试(Remote Debug)Java代码指南_第3张图片

然后在本地程序中在需要调试的代码处设置断点,最后再按 Alt+Shift+F9 选择之前配置的remote debug并点击“Debug”运行;

IDEA远程调试(Remote Debug)Java代码指南_第4张图片


请求&调试

向服务器的接口发起请求, 可以观察到请求会进入本地程序设置断点处,至此实现IDEA进行Remote Debug;


image.png

IDEA远程调试(Remote Debug)Java代码指南_第5张图片


你可能感兴趣的:(java,intellij-idea,spring)