java项目远程调试

背景
目前大家调试项目,比较通用的就是使用修改log进行调试,每次调试都会相应的修改配置log的地方,重复性的进行提交、编译、部署。比较浪费时间。由于环境连接问题,又需将项目部署到服务器上。所以,为了节省无用的时间开销,大家可以使用java的远程调试模式。在本地DEBUG服务器上代码。提升效率

使用
a) 目前已经部署好的一个机器是vmborderm5.m.jd.care (11.25.210.9),大家可以在这个机器上部署服务,然后开通自己机器到该机器的访问权限,使用idea的远程调试服务,即可使用本地debug的功能(步骤4,5)。
b) 如果想部署单独机器的debug环境,可以参照以下方案部署整套环境(步骤3,4,5)。

部署远程服务机器
a) 新增jvm启动参数:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1601
参数说明:transport=dt_socket 表示使用socket通信协议
server=y 表示该JVM用于调试
suspend=n 表示JVM 立即执行,不要等待调试者连接
address=1601 连接的端口(PS:此端口不要与tomcat启动端口重复)

b) 目前测试此步骤可以不加,如果有机器连接问题,使用此方法:修改tomcat的启动方式,修改tomcat启动文件startup.sh文件,将 exec “ P R G D I R " / " PRGDIR"/" PRGDIR"/"EXECUTABLE” start “ @ " 改 为 e x e c " @" 改为 exec " @"exec"PRGDIR”/" E X E C U T A B L E " j p d a s t a r t " EXECUTABLE" jpda start " EXECUTABLE"jpdastart"@"。

申请网络权限
由于办公网络限制了对机房网络端口的请求,只有80和443端口可用,因此需要额外申请网络权限。
a) 找 信息安全部 马哲超(mazhechao1),先和他确认下是否符合规定,端口权限是用于java服务调试。确认无误后,发邮件确认。
b) 找 集团网络支持 (xnwlzc)说明情况。以及需要抄送他们的邮箱账号。
c) 在erp 流程中心-企业it流程-业务系统网络访问权限里面提申请进行开通。申请信息如下图(ps :源IP可以通过查询本机IP获取,端口为远程调试服务端口,非tomcat服务端口,即步骤3中设置的端口,2者不同):

启用idea的远程调试服务

a) 配置debug参数
java项目远程调试_第1张图片

b) 在弹出框,点击右上角的 + 号。选择remote,在弹出的配置中,输入ip+port。点击ok即可。
java项目远程调试_第2张图片

c) 选择刚才配置的远程服务,开启debug,console中出现“Connected to the target VM, address: ‘11.25.210.9:1601’, transport: ‘socket’”。表示连接成功。在代码中打上断点,此时向服务器发送请求,即可拦截到请求。idea的常用调试快捷键,大家参考下度娘。
java项目远程调试_第3张图片

你可能感兴趣的:(知识点汇总)