Java项目远程调试实践 - IDEA篇 (其它平台也通用)

   众所周知,Java是在网络环境下诞生的语言,其对网络也非常支持。在IDEA中,点击调试按钮时就能发现:
在这里插入图片描述
调试命令是通过socket传输的。通过java选项得知:

命令含义
-XDebug启用调试。
-Xnoagent禁用默认sun.tools.debug调试器。
-Djava.compiler=NONE禁止 JIT 编译器的加载。
-Xrunjdwp加载JDWP的JPDA参考执行实例。
transport用于在调试程序和 VM 使用的进程之间通讯。
dt_socket套接字传输。
dt_shmem共享内存传输,仅限于 Windows。
server=y/nVM 是否需要作为调试服务器执行。
address=9999调试服务器的端口号,客户端用来连接服务器的端口号。
suspend=y/n是否在调试客户端建立连接之后启动 VM 。

在远程服务器端使用该命令可以启动调试监听:

java  -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=9999,
server=y,suspend=y  -jar yourjar.jar

在这里插入图片描述
在客户端同样使用对应的参数进行断点和调试,在IDEA中,配置步骤如下:

1.先打开该JAR的源码项目(要求和打包的JAR是同一份源码,否则调试时会出现字节码不一致的警告)
2.编辑该项目的配置:
在这里插入图片描述
3.在添加新配置中选择远程,并给予服务端的配套配置(仅仅需要输入IP地址和端口号):
在这里插入图片描述
4.保存该配置,并且在需要断点的地方添加断点,然后点击调试按钮。现象如下:
在这里插入图片描述
这样一来,远程项目的调试也就成功了!

最后总结一下完整流程:
1.先将需要调试的代码打包成jar - 右击项目的模块设置,Artifacts中选择From modules with dependencies…
2.将打包的jar发送到服务器端
3.在服务器端开启远程调试监听
4.在客户端配置远程调试地址和端口号
5.启用调试!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值