java远程调试debug

首先被调试的服务配置

被调试的 java 服务需要开启允许被远程调试的配置,具体就是启动脚本中,加上允许被远程调试以及相应端口

# 针对JDK15.-1.8
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=端口
# 针对JDK1.9及以上
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=端口
  • transport=dt_socket:指定使用套接字传输。
  • server=y:表示当前JVM作为调试服务器。
  • suspend=n:表示JVM在启动时不暂停,立即执行。如果设置为y,则JVM会在等待调试器连接时暂停。
  • address=xxxx:指定调试端口。

idea 中配置远程调试连接上被调试服务

自己随便弄一个 idea 的项目,其中配置 configuration,Remote JVM Debug,输入被调试服务所在的 ip 以及 port

# 针对JDK15.-1.8
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=端口
# 针对JDK1.9及以上
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=端口

打断点开始调试

断点开始调试即可

远程断点会阻碍服务器其他请求吗?

会阻碍

远程端点直接终止会如何?

服务端会正常往下执行

本地代码修改,远程断点会断在哪?

如果本地代码经过修改,比如本地的 15 行对应远程的 16 行,本地的 16 行对应远程的 17 行,那么断点时候实际是按照代码行来断的,比如本地跑到 16 行代码断住了,其实远程断点它以为到了的远程代码的 16 行(也就是本地代码的 15 行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abcnull

您的打赏是我创作的动力之一

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值