共计 936 个字符,预计需要花费 3 分钟才能阅读完成。
前言
当咱们的代码在线上 / 测试环境运行出现异常须要进行问题定位时, 之前的传统做法是: 查看异样日志, 依据日志定位到出错代码, 而后再依据相干参数及异样信息进行推断。然而很多异样问题须要更粗疏的进行 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 时会监听近程服务的对应端口并运行调试环境,具体的参数阐明如下:
- -Xdebug:JVM 在 DEBUG 模式下工作;
- -Xrunjdwp:JVM 应用 (java debug wire protocol) 来运行调试环境;
- transport:监听 Socket 端口连贯形式, 罕用的 dt_socket 示意应用 socket 连贯;
- server:= y 示意以后是调试服务端,= n 示意以后是调试客户端;
- suspend:= n 示意启动时不中断;
- address:示意本地监听的地址和端口。
而后在本地程序中在须要调试的代码处设置断点,最初再按 Alt+Shift+F9 抉择之前配置的 remote debug 并点击“Debug”运行;
申请 & 调试
向服务器的接口发动申请,能够察看到申请会进入本地程序设置断点处,至此实现 IDEA 进行 Remote Debug;
正文完