使用IDEA远程Debug调试(详细)

您所在的位置:网站首页 远程调试功能 使用IDEA远程Debug调试(详细)

使用IDEA远程Debug调试(详细)

2024-07-13 18:44:44| 来源: 网络整理| 查看: 265

一:前言

  记得刚工作那会写代码,遇到线上奇怪问题时,就会在可能出现问题的地方大量打log,然后重新打包部署,再对打印的log进行分析;往往这一套流程下来,基本上1个小时左右的时间就这么白白浪费,但要log打的不合理,那么就嘿嘿了,我们要不停的修改代码打log、不停的打包部署。这是何等的浪费时间呀。

1:什么是远程调试

  远程调试(对应IDEA功能:Remote JVM Debug)。远程调试使开发人员能够直接诊断服务器或其它线上进程上的问题,它提供了跟踪线上运行时错误并确定性能瓶颈和问题根源的方法,让你能够像在本地调试一样 Debug 远程服务器。

2:IDEA远程调试原理及说明 Ⅰ:Java的远程调试机制: Java虚拟机提供了远程调试机制,只需要在服务端启动时通过添加JVM参数开启调试服务端口,并且在客户端使用调试器连接到这个服务 端口,就可以实现对远程JVM上程序的调试。 Ⅱ:IntelliJ IDEA远程调试的实现方式: IDEA利用Java的远程调试机制,在目标JVM上启用调试服务端口,并在IDEA上创建远程调试配置,连接到目标JVM上的调试服务端口, 实现对远程程序的调试和控制。 Ⅲ:远程调试协议: 在远程调试时,客户端和服务端之间通过远程调试协议进行通信。客户端会发送调试命令和断点信息到服务端口,服务端会执行调试命令 并返回相应的结果,通过协议来实现客户端与服务端的交互。 Ⅳ:远程调试的工作原理: 远程调试流程包括以下步骤: ①:启动远程 JVM 并配置调试服务端口; ②:在客户端创建远程调试配置,并连接到目标 JVM 上的调试服务端口; ③:在客户端设置断点和调试命令,并通过远程调试协议发送到服务端口; ④:服务端接收到命令后执行,并返回结果; ⑤:客户端收到结果后,根据调试命令和状态更新调试器界面。 Ⅴ:远程调试的优劣势: 优势:可以直接在目标环境上调试代码,同时也可避免因操作系统等差异导致的问题; 劣势:需要在目标环境上(服务端)开启调试服务端口,同时还需要在客户端设置调试器进行连接,非常繁琐。 二:使用远程调试(物理机部署) 1:服务端添加远程通道 要让远程服务器运行的代码支持远程调试,则服务端启动的时候必须加上特定的 JVM 参数,这些参数是: 不同的JDK版本需要设置不同的配置: JDK 9 or later -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:9999 JDK 5-8 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999 JDK 1.4.x -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999 JDK 1.3.x or earlier -Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999 这里的9999则是服务端开放的端口,后期客户端IDEA需要连接当前端口进行远程交互和调试。 但是我们需要注意的是,这个9999端口在服务端一定要放开防火墙或者安全组; 具体端口看项目需求;运行服务端jar包程序则如下(JDK 5-8版本): java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999 ./SwaggerDemo-0.0.1-SNAPSHOT.jar > app.log & 2:客户端连接远程通道

  设置Edit Configurations来配置信息

注:远程代码和本地代码一定要一致,否则打断点会打偏或者压根无法打断点,



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭