如何使用idea远程debug调试代码详解

idea远程debug服务器 新增Remote JVM Debug类型的服务器,并填写服务器的ip地址和端口(第1步设置的端口) 阅读详情
AI摘要

本文介绍如何使用IntelliJ IDEA进行远程调试,包括搭建Spring Boot工程、IDEA远程调试配置步骤和服务端开启debug模式的方法。

目录

一、idea远程debug原理

二、创建一个springboot工程

三、IDEA远程调试配置

 四、服务端开始debug模式

 五、idea启动远程调用

六、启动远程调试参数解释 


一、idea远程debug原理

远程调试,需要调试服务器上的程序时,远程调试就显得非常有用。JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协议联系,本地的Java文件在远程JVM建立联系和通信。

  • 本地代码监听远程调试端口,在在本地需要调试代码打下断点。
  • 访问远程服务。
  • 远程服务触发idea编辑器本地代码,本地代码进入debug状态。
  • 在本地调试代码,解决代码bug。

简单流程如下:

二、创建一个springboot工程

之前已经介绍过很多创建springboot工程的文章了,可以参考这篇文章:如何创建一个springboot工程

三、IDEA远程调试配置

1,打开idea,顶部菜单栏选择Run-> Edit Configurations,进入下图的运行/调试配置界面。

2,点击左上角'+'号,选择Remote。分别填写右侧三个红框中的参数:Name,Host(想要指定的远程调试端口)。

3,点击界面右下角应用按钮即可。

 四、服务端开始debug模式

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar spring-boot-mybatis-plus-0.0.1-SNAPSHOT.jar

 五、idea启动远程调用

程序上打上断点,点击运行。调用服务器端运行的系统程序,系统自动进入断点。

六、启动远程调试参数解释 

  1. -Xdebug:通知JVM工作在调试模式下
  2. -Xrunjdwp:通知JVM使用(java debug wire protocol)来运行调试环境。参数同时有一系列的调试选项
  • transport:指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另外dt_shmem指用共享内存方式,其中dt_shmem只适用于窗口平台.server  参数是指是否支持在服务器模式的虚拟机中。
  • server参数是指是否支持在server模式的VM中。
  • onthrow:指明当产生该类型的异常时,JVM就会中断下来,进行调式该参数任选。
  • launch指明,当JVM被中断下来时,执行的可执行程序。该参数可选。
  • suspend指明,是否在调试客户端建立起来后,再执行JVM。
  • onuncaught(= y或n)指明出现未捕获的异常后,是否中断JVM的执行。
     
用IDEA追踪bug Debug 用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用 Debug 模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用 Debug 模式来跟踪代码的运行流程去学习三方框架的源码。 在 Intellij IDEA 中使用好 Debug,主要包括如下内容: Debug 开篇 基本用法 & 快捷键 变量查看 计算表达式 智能步入... 阅读详情

相关推荐

IDEA远程线上Debug(详细步骤图解)

说起debug想必大家都非常熟悉,不知道大家是否知道线上也是可以进行debug的,不过需要注意的是,切记只能在线上测试环境进行使用,以免造成系统堵塞无法使用,只适用于线上测试环境调试代码,且本地代码必须与线上代码一致,否则可能出现不可预估的问题。 项目打包 在项目clean后直接使用package打包成jar idea配置远程jvm调试 这边我直接用本地环境给大家做一个演示 在服务器中启动打包好的jar java -agentlib:jdwp=transport=dt_sock.

撸码社区的博客 3551

IDEA实现远程DEBUG调试 “来了老弟~~“

说明:这里主要描述,如何通过IDEA开发工具实现远程DEBUG调试。 开发环境:JDK 8 开发工具:IDEA 2019 一、什么是远程DEBUG调试? 通俗的说,远程DEBUG就是断点打在本地环境, 但是代码是跑在远端的。 二、为什么使用远程DEBUG? 一般我们写完代码都会先在本地进行接口自测。如果发现问题,可以直接开启DEBUG模式,进行问题的定位、排查和解决。但往往有些时候,本地自测是没问题的,可是测试环境、生产环境却出了问题。 “这…我本地测试确实没问题…” “还敢狡辩,给我查,查不出来的.

程序和我有一个能跑就行了 6908

IntelliJ IDEA | 调试远程 JAVA 服务

文章目录1 概述2 设置2.1 IDEA 中指定 Debug 服务器2.2 远程服务中开启 Debug 服务2.2.1 对于 SpringBoot2.2.2 对于 Tomcat2.3 远程服务器防火墙端口放行3 开始调试4 关闭调试 1 概述 原理:本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信,传递调试指令和调试信息 被调试程序的远程虚拟机:作为 Debug 服务...

壹只皮卡丘 662

idea 远程debug调试

1,远程DEBUG的必要性 由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题。倘若是测试环境,我们还多了一项可..

超级无敌皮皮超的博客 1万+

excel 利用SUBTOTAL函数计算筛选后数列总和、均值、最大、最小值

表里有三个人,咱们需要筛选出三个人,并分别计算他们的总和值。 先看一下数据范围(A1:B27) 通过筛选找张三。 按照上图所示输入函数,选择9,求和。 然后按照函数输入即可。 就能计算出结果。 筛选项选择王五,就会自动计算王五的总和。 筛选到李四就会自动计算李四的总和。 如果把9改成1,就是自动计算筛选出来的均值结果,如下图所示。 如果改成4就是取筛选项的最大值,选择5就是取最小值。 ...

yuanYW7556的博客 3万+

【操作系统】实验楼操作系统实验三——系统调用

操作系统实验3——系统调用 环境配置 ​ 首先同样是配置环境 cd /home/shiyanlou/oslab tar -zxvf hit-oslab-linux-20110823.tar.gz -C /home/shiyanlou 实验步骤 添加函数声明 cd ~/oslab/linux-0.11/include/linux gedit sys.h //添加内容: extern int sys_whoami(); extern int sys_iam(); fn_ptr_sys_call_table

qq_46612803的博客 6357

java如何开启远程调试服务端口_使用IDEA进行JAVA代码的远程Debug

我们知道,Java 程序是统一以字节码的形式运行在Java 虚拟机上的,因为都是字节码文件,所以只要本地代码和远程服务器上的类文件相同,两个JVM就可以通过调试协议进行通信。这里需要注意的是,被调试的服务器需要开启调试模式,服务器端的代码和本地代码必须保持一致,否则断点无法进入。在IDEA中进行JAVA代码的远程Debug,需要做两步准备工作。一、远程服务器端的JAVA代码开启调试模式。项目类型:...

weixin_33074843的博客 1292

别光看Demo了!用UE5 Lyra框架快速搭建你的多人对战游戏原型(含完整配置流程)

本文详细介绍了如何利用UE5 Lyra框架快速搭建多人对战游戏原型,包含完整的配置流程和实战案例。Lyra作为可直接二次开发的游戏模板,内置了GAS技能系统、Enhanced Input输入控制等核心功能,大幅缩短开发周期。通过替换角色模型、调整武器数值和配置新地图规则,开发者可在48小时内完成科幻团队竞技游戏原型的搭建。

weixin_28717411的博客 457

idea java 远程调试_使用IDEA进行JAVA代码的远程Debug

在本地开发过程中,对代码进行Debug能逐行对代码逻辑进行调试,方便准备的排查问题。但是当代码发布到线上时,如果运行过程中出现异常,仅仅依靠日志来排查问题的话,会比较耗时,而且经常由于日志不全等原因而不能快速准确定位问题,而通过对JAVA代码进行远程Debug能很好的解决这个问题。这篇博文主要介绍在IDEA中配置JAVA代码远程Debug,以及需要注意的事项。我们知道,Java 程序是统一以字节码...

weixin_33917277的博客 440

别再花屏了!手把手教你用STM32CubeIDE搞定LVGL 8.3移植(附完整源码)

本文详细介绍了如何在STM32CubeIDE环境下成功移植LVGL 8.3,解决常见的花屏问题。从环境配置、显示驱动优化到编译警告处理,提供完整的实战方案和源码示例,帮助开发者快速实现流畅的嵌入式GUI界面。特别针对STM32平台的DMA2D加速和内存管理进行了深度优化。

weixin_33739646的博客 243

Vivado 2018.3实战:用IDELAYE3和ISERDESE3搞定高速ADC数据采集(附仿真源码)

本文详细介绍了在Vivado 2018.3中使用Xilinx UltraScale架构的IDELAYE3和ISERDESE3原语实现高速ADC数据采集的实战方法。通过分析5GHz采样系统的时序挑战,提供从PCB布局到Vivado实现的完整解决方案,包括精密时序校准、多相位数据重组及系统级调试技巧,并附赠仿真源码助力工程师快速掌握高速数据采集技术。

weixin_30567225的博客 582

IDEA使用远程debug调试远程服务器代码

IDEA使用远程debug调试远程服务器代码 场景:项目打在服务器后有时候很难只从日志排查出来问题,这时候,可以使用java的远程debug功能对服务器上的代码进行调试 服务器端配置 在起jar包时使用命令 java -Xdebug -Xrunjdwp:transport=dt_socket,address=8090,server=y,suspend=n -jar /java/media-server-20211217.jar 参数解释: -XDebug :启用调试; -Xrunjdwp:加载JD

Devil_Mao的博客 1787

STM32 使用rtthread的DMA 串口发送失败

在一次使用RTthread的DMA 串口发送时,持续性通过DMA 发送串口数据时,偶发发送过程中后续数据包无法正常发送出去,后经查,发现为RT-Thread的串口中断处理有瑕疵,后做出修改。另,为了更方便的排查为题,建议修改。左为修改前,右为修改后。

qq_39294918的博客 1108

idea 导出war包_使用IDEA实现远程代码DEBUG调试教程详解

我们在使用 IDEA DEBUG调试代码的时候,常常见到控制台会输出一句这样的话:「Connected to the target VM, address: '127.0.0.1:62981', transport: 'socket'」,所以即使代码不在本地运行,只要JVM打开调试模式,并且网络能够用过 socket 连接到JVM,使用 Debug 协议通过 Socket 通信就可以传递调试指令和...

weixin_30444517的博客 1005

用 CDS 作为 Referenced Data Source 开发 SAP Gateway OData 服务,一条更轻的 SEGW 路线

本文介绍了SAP Gateway项目中从传统手工建模到基于CDS View的现代化开发方式转变。主要内容包括: 传统方式需要在SEGW中手动创建Entity Type、Entity Set等元素,并在DPC_EXT中编写大量查询逻辑,存在模型层和业务逻辑重复表达的问题。 7.50版本后,SAP Gateway与ABAP CDS深度集成,可通过SEGW直接引用CDS View作为数据源,自动生成数据模型和SADL读取逻辑,支持完整的OData查询功能。 最佳实践建议通过Consumption View而非直接

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 706

15.1-缓存调试解析

摘要:DSU-120提供L3缓存和监听过滤器(SF)RAM的调试功能,通过CLUSTERCDBG寄存器控制访问。该功能需在集群ON电源模式下使用,且需确保单核访问。寄存器位字段根据读写操作不同,可配置WAY、RAM类型等参数。数据读取分为监听过滤器RAM、标签RAM、数据RAM及MTE标签四种类型,各有特定的位字段解释。配置参数包括切片ID宽度、标签索引宽度等,随缓存大小变化。

baron-周贺贺-代码改变世界ctw 110

Remote JVM Debug远程调试

前言 IDEA中Remote JVM Debug有什么作用? 它可以用来在IDEA中debug调试远程服务器中的代码,本文就简单来介绍一下其用法。 一、JVM远程调试的原理是什么? Java远程调试原理是在两个JVM间通过debug进行socket通信,以达到远程调试的目的。 二、使用步骤 在IDEA中可以点击Run/Debug Configurations, 再点击"+"号添加一个Remote JVM Debug,并填写远程服务器的IP地址和端口号; 其中的参数为IDEA默认添加进去的,不用修改; 通

iijik55的博客 2060

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

idea远程调试修改代码_远程调试 bug ,快速定位问题

情况是这样的,现在的产品出现了一个 bug ,需要及时排查快速解决,你是怎么样解决的呢?解决:登陆服务器,查看日志,看一下哪里有问题,然后本地运行程序进行debug ,解决后,在重新打包部署到服务器。现在我们开发项目,Java 项目普遍都是使用 Idea 做为主流开发工具,springboot 技术栈来快速构建项目,然后以打 jar 包的方式来部署项目。现在我们就来通过远程调试的方式来快速 deb...

weixin_39589253的博客 267

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IntelliJ IDEA spring boot 远程Ddbug调试

IntelliJ IDEA spring boot 远程Ddbug调试 一、idea配置 1.在idea中点击右上角的 "Edit Configurations" 2.点击+,选择Remote 3.在Name处为此次Dbug起个名字,在Host添加测试环境的IP地址,Port可以,也可以自定义,将Command line arg...

weixin_30710457的博客 100

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

简单三步,实现idea远程debug

idea远程debug,简单三步

qq_48804275的博客 1万+

工作记录-远程debug调试步骤

在工作中,使用远程 debug进行调试 进行一下全方位的记录 背景前提 : 项目目录下已经编写好并存在 start.sh脚本 1.先通过 Xshell进入到项目 的bin 路径下 cd /usr/local/XXXX/core/XXXtask/bin/ 2.执行 ps -ef|grep XXXtask 查看当前的进程的id 我们可以看到当前的进程id号 3.执行 kill -9 进...

always_oline_paul的博客 880

aspx调试的时候其他机器也可以打开_使用IDEA实现远程代码DEBUG调试教程详解

我们在使用 IDEA DEBUG调试代码的时候,常常见到控制台会输出一句这样的话:「Connected to the target VM, address: '127.0.0.1:62981', transport: 'socket'」,所以即使代码不在本地运行,只要JVM打开调试模式,并且网络能够用过 socket 连接到JVM,使用 Debug 协议通过 Socket 通信就可以传递调试指令和...

weixin_39869959的博客 466

【debug调试详解-idea】

debug调试详解-idea

weixin_44860141的博客 505

idea 调试java源码_IntelliJ IDEA 远程 Debug 调试 Java代码

在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法。在本文中,就让我们一起来看看,如何利用 IntelliJ IDEA 进行远程 Tomcat 的调试。首先,配置remote:如上图所示,点击Edit Configurations,进入如下界面:如上图所示,我们进入了Run/Debug Configurations界面,然后点击左上角的+,选择Remote:标注 1:运...

weixin_42512483的博客 433

Intellj Idea 远程调试

对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时。今天咱们来了解了解Java远程调试这个牛逼的功能,本文以Intellij IDEA为例讲解怎么使用远程调试。以Thrift入门教程这篇文章中使用的程序作为例子。这个程序由Thrift服务端和客户端组成。描述一下远程调试需要解决的问题: 服务

Leo's Blog 2936
上一篇: 如何解决mapstruct和lombok冲突问题
下一篇: Java不可变类作为参数传递遇到的坑
境里婆娑
境里婆娑 新星创作者: Java技术领域 新星创作者: Java技术领域 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄10年 1万+粉丝 300原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

境里婆娑

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值