前言
当我们的代码在线上/测试环境运行出现异常需要进行问题定位时,之前的传统做法是:查看异常日志,根据日志定位到出错代码,然后再根据相关参数及异常信息进行推断。但是很多异常问题需要更细致的进行debug才能够更精准的去定位和解决,这种情况下,我们希望能够像在本地调试一样去debug线上/测试环境的代码,这样可以大大提升bug修复的效率,IDEA非常贴心的为我们提供了这一功能,具体用法如下:
配置步骤
远程服务启动参数
使用如下命令启动服务端程序;java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5005 -jar 待发布的程序jar包名称.jar
本地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时会监听远程服务的对应端口并运行调试环境,具体的参数说明如下