idea开启远程debug调试模式

一、启动jar应用前的准备工作:

在启动jar包时加入jvm参数
以下是不同版本jdk加的参数

  • JDK 9+:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8882
  • JDK 5-8:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8882
  • JDK 4:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8882
  • JDK 3-:-Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8882

这里的debug_port是对外暴露的debug测试端口

二、idea的配置

  1. 打开Edit Configurations -> Add New Configuration -,添加remote JVM Debug
  2. 设置ip端口号,选择jdk版本
  3. debug运行,即可使用debug模式操作远程应用
    在这里插入图片描述

三:看起来很美好,其实没啥用的感觉

  1. 你必须保证本地代码和线上应用一致,行号什么的也要一致,那你改代码是不会生效的
  2. 你在打断点测试时,其他人访问也会在断点停止,会影响使用
  3. 日志是在应用端打印,在idea啥也木有

附录:

  • -Xdebug:通知JVM工作在调试模式下
  • -Xrunjdwp:通知JVM使用(java debug wire protocol)来运行调试环境。参数同时有一系列的调试选项session:指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另外dt_shmem指用共享内存方式,其中dt_shmem只适用于窗口平台
  • server参数是指是否支持在服务器模式的虚拟机中。
  • onthrow:指明当产生该类型的异常时,JVM就会中断下来,进行调式该参数任选。
  • release:指明当JVM被中断下来时,执行的可执行程序该参数可选
  • suspend:指明:是否在调试客户端建立起来后,再执行 JVM。
  • onuncaught(= y或n)指明出现未捕获的异常后,是否中断JVM的执行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 IntelliJ IDEA 进行远程调试,需要进行以下步骤: 1. 打开远程调试功能:在启动应用程序时,添加以下 JVM 参数,开启远程调试功能: ``` -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<host>:<port> ``` 其,`<host>` 是远程主机的 IP 地址或主机名,`<port>` 是远程调试端口号,例如: ``` -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:5005 ``` 2. 在 IntelliJ IDEA 创建远程配置:在 IDEA ,打开菜单 `Run` -> `Edit Configurations...`,点击左上角的 `+`,选择 `Remote`,填写以下信息: - Name:配置名称,自定义。 - Host:远程主机的 IP 地址或主机名。 - Port远程调试端口号,与上面的 JVM 参数的 `<port>` 一致。 - Transport:调试传输协议,一般选择 `socket`。 - Debugger mode:调试模式,一般选择 `Attach to remote JVM`。 - Use module classpath:是否使用模块类路径,一般选择 `Yes`。 3. 启动远程调试:在 IDEA ,点击菜单 `Run` -> `Debug 'Remote'`,IDEA 将会连接到远程主机,并启动远程调试。 4. 断点调试:在 IDEA ,设置断点,运行远程应用程序,当代码执行到断点处时,IDEA 将会暂停程序执行,可以查看变量值、堆栈信息等。 需要注意的是,远程调试需要保证网络连接的稳定性和安全性,建议在安全的网络环境下进行。同时,也需要保证远程主机上的应用程序已经开启远程调试功能,并且端口没有被防火墙等软件屏蔽。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值