IDEA如何进行远程Debug

article/2025/10/11 7:58:24

1. 问题背景

项目的部署方式有主要有两种,第一种是以本地SpringBoot直接启动或是非SpringBoot的应用在本地应用服务器进行部署;第二种则是将项目在远程服务器部署。一般本地直接启动的项目可以直接进行DEBUG调试,但是在企业内部或是多人协同的时一般是将项目部署在独立的一台测试服务器上,针对这种情况该如何DEBUG调试的我们的业务代码呢,下面是具体的操作流程。

2. 远程调试端口开启

应用或是系统在远程服务器上一般是通过命令行或是Shell脚本完成应用的启动/关闭,关于启动的参数配置一般是附属在Shell脚本或是JAVA启动命令中来进行配置,比如JVM内存大小java -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=512m,除此之外我们还可以指定调试相关的配置参数:

将配置项中的-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 添加到JAVA启用参数中,然后重启远程服务器
在这里插入图片描述

3. Remote Debug配置

  1. 为了方便调试,首先需要把远程服务器上面需要调试的代码放在本地IDE里面
  2. 在菜单栏选择Run ->Edit Configuration,点击+号,选择Remote JVM Debug,然后在配置项里面输入远程需要调试机器的IP地址和所对应的端口号,最后可以自定义应用名称
    在这里插入图片描述在这里插入图片描述
  3. 再次选择菜单条run按钮,找到debug中“自己设置的项目名字”,点击然后就可以进行远程连接开启Debug调试了
  4. 在本地项目中代码中设置断点,然后就可以在本地debug调试了

4. 总结

无论Remote Debug还是本地IDEA Debug模式其本质就是通过在启用应用时添加参数,底层原理均是基于JVM底层提供的调试能力,然后通过启动参数来确定是否开启Debug端口,唯一的区别是在于IDEA是在集成开发软件中自动来完成调试模式的开启,而自己开启则需要在应用中添加对应的参数来控制Debug功能的开启。 除此之外断点调试的功能也是基于JVM底层已有的能力,只不过是IDEA提供了可视化的工具然开发能够更便捷的Debug。如果不用IDEA或其他开发工具的情况下我们又该如何进行Debug呢? 其实也是可以的,只需要基于JDB本身通过命令行来打断点和调试即可,感兴趣的可以进一步了解下如何通过命令行基于JDB模式来进行Debug调试。为什么需要具备这种能力呢? 因为大企业内部的线上的服务器的网络和办公网络是隔离的,中间经过一层跳板机,直接远程调试是不通的(除非是通过跳板机做端口映射转发),这时候便可以直接在机器上基于JDB来进行调试。


http://chatgpt.dhexx.cn/article/hvAEs840.shtml

相关文章

idea远程Debug,远程调试

如果需要进行测试直接跳到第三步进行设置就可以 idea远程Debug,远程调试 一.为什么使用远程Debug二.搭建项目1.项目配置2.打包项目 三.Debug测试1.创建链接2.启动项目3.测试接口 一.为什么使用远程Debug 由于部署环境和本地环境的差异性,在本地运行的好…

IDEA配置远程debug调试

当项目部署到远程服务器上的时候,很多时候会发现在远程服务器上执行的结果与我们在本地的执行结果不一致,因此,为了方便我们部署到远程服务器上和在本地debug调试一直,特需配置远程debug调试。 配置远程debug的条件: …

IDEA tomcat远程调试

最近研究tomcat内存马,但本地不具备代码运行条件,本地dns坏了,本地运行报错: 错误: 代理抛出异常错误: java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: ***-PC: ***-PC 遂尝试远程调…

IDEA如何远程断点调试jar包

1.问题 以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境下编译运行Spring Boot项目不报错,如何复现jar包运行时的错误呢?这就需要在IDEA下远程断点调试jar包代码。 2.步骤 将 springboot 项目打成jar包;在IDEA中&a…

Idea Intellij 远程开发调试

一、背景 在构建MiniOB开发环境时需要Linux环境,另外结合分布式系统,利用较好的通信,萌发了远程开发的想法;实际上远程部署、开发在很久之前有过想法(大约刚开始学SpringBoot进行部署软件时,反复地本地开发…

IDEA远程debug调试设置

1写作目录 最近发现工作的项目竟然不能本地跑,只能在预发环境测试,那只能远程debug了,所以写个博客记录一下。 2实操 2.1项目启动添加参数 如下所示,配置了一个debug端口8000 java -Djavax.net.debugssl -Xdebug -Xnoagent -…

IDEA远程调试Java代码

文章目录 1 前言2 远程 Debug 调试原理2.1 理论基础2.2 远程调试分类 3 主动连接调试3.1 远程服务中开启 Debug 服务3.1.1 对于 SpringBoot3.1.2 对于 Tomcat 3.2 IDEA 中指定 Debug 服务器3.3 远程服务器防火墙端口放行 4 被动连接调试4.1 对于 Tomcat4.2 对于 SpringBoot 5 开…

IDEA如何开启远程调试

要进行远程调试,首先被调试的服务必须支持远程调试,先要开一个远程调试接口,在启动参数里面增加下面的语句: -agentlib:jdwptransportdt_socket,servery,suspendn,address6001 这主要是指定远程调试的端口,为6001。一…

IDEA 远程调试

IDEA 远程调试,像运行本地代码一样调试远程主机上的程序,以排查远程程序的BUG或代码执行流程。 作者:王克锋 出处:https://kefeng.wang/2018/03/06/idea-remote-debug/ 版权:自由转载-非商用-非衍生-保持署名&#…

IDEA 远程断点调试

IDEA 远程断点调试 有时候,有些bug无法在本地环境复现,此时就需要我们去线上的机器远程debug,可以采用idea Remove JVM Debug模式. 首先,点击Edit Configurations 然后点击左上角的Add New Configuration,选择Remove…

idea实现远程调试

1.项目开启远程调试 在-jar 后面配置 -agentlib:jdwptransportdt_socket,servery,suspendn,address8327 (8327是远程调试的端口号,注意不要和项目端口号冲突) nohup java -jar -agentlib:jdwptransportdt_socket,servery,suspendn,address8…

IDEA进行远程调试

前言 对于分布式系统的调试不知道大家有什么好的方法。对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时,有什么更好的办法呢? 有时候&…

idea 远程debug调试

1,远程DEBUG的必要性 由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文&…

使用IDEA远程debug调试(一篇懂所有)

使用IDEA远程调试(一篇懂所有) 背景 有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务,以springboot微服务为例(springcloud的应该差…

SpringBoot 远程DEBUG调试

我们在测试代码的时候,我们本地代码展示的效果可能和测试环境不一样,明明代码一样,但是效果不一样,代码已经部署到服务器端,因此远程连接服务器端远程调试很重要,实际开发较为常用. 一,调试命令 最为常见的远程调试命令 java -jar -Dserver.port8092 -Dspring.pr…

idea远程调试

一 业务:服务器与本地环境不一样 二 需求:如果服务器报错,使用本地idea进行远程debug调试 三 解决方案:本地idea远程debug调试 四 具体操作 1 第一步:IDEA打开远程启动的springboot应用程序所对应的本地springboot…

IDEA 开启远程调试

idea 远程调试 背景 在编写代码时, 总会遇到这样或者那样的bug. 有些bug 特别是业务逻辑的bug . 在生产或测试环境好复现而在开发环境很难复现. 现在提供的一种思路, 就是远程调试: 我们可以在本地直接调试生产环境或者测试环境的代码. 只需我们本地代码和远程部署的代码一致.…

Idea远程debug

Idea远程调试 当把一个本地项目部署到远程服务器后有可能出现意想不到错误,这个时候通过远程调试能够更清楚的找到bug所在位置。本篇主要讲解如何使用Idea开发工具 进行调试1.远程调试服务器上面的SpringBoot 项目2.远程调试服务器上运行在tomcat中的项目&#xff0…

Intellij IDEA远程debug教程实战和要点总结

远程调试,特别是当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用。 JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协…

计算机网络——网络工程项目

一、项目要求 1. 假设某单位(学校、企业均可)在不同地理位置具有两个内部网络。这两个内部网络规模不同(分别简称主网、次网)。主网至少覆盖4座楼,每座楼至少4层,每层至少10个房间,次网规模不限…