IDEA远程调试SpringBoot项目

news2024/11/25 15:45:53

IDEA远程调试SpringBoot项目

  • 一、前提
  • 二、脚本
  • 三、运行远程项目
  • 四、本地配置
  • 五、使用场景
  • 六、扩展点

一、前提

保证线上的jar代码和本地代码一样

二、脚本

nohup java -Xdebug -Xnoagent -Djava.compiler=NONE Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5001 -jar ./auth-0.0.1-SNAPSHOT.jar
  • nohup java:启动jar命令
  • -Xdebug :以debug的形式启动
  • -Djava.compiler=NONE :禁止JIT编译器的加载,加快debug的速度
    -Xrunjdwp:transport=dt_socket :使用socket进行通信
  • server=y : 是服务器
  • suspend=n : 不延迟加载
  • address=5001 :监控的端口
  • -jar ./auth-0.0.1-SNAPSHOT.jar :要启动的jar

三、运行远程项目

run

四、本地配置

  1. 打开配置界面

endit

  1. 选择Templates

tem

  1. 选择Remote,填写ip和端口

tainxie

  1. 点击“+”号,添加刚才设置的 Remote

remote

  1. 添加完Remote之后,在Remote下找到刚才添加的配置,修改名字,添加完成

debug

  1. 启动本地项目
    connect
  2. 验证

final

五、使用场景

远程调试Spring Boot项目的使用场景主要有以下几种:

1、多人协作开发:在多人协作开发的场景下,远程调试可以帮助团队成员快速定位和解决问题。团队成员可以通过远程调试功能直接调试运行在其他团队成员本地的Spring Boot项目,而不需要每次都进行代码合并和部署。

2、服务器部署调试:在将Spring Boot项目部署到服务器上后,如果出现问题需要进行调试,远程调试可以帮助开发人员远程连接到服务器上的应用程序,实时调试代码,定位和解决问题。

3、客户现场问题排查:在客户现场使用Spring Boot项目时,如果出现问题需要进行排查,但无法直接访问客户的环境,可以通过远程调试功能远程连接到客户的环境,进行实时调试和问题排查。

4、远程教学和培训:在进行Spring Boot的教学和培训时,远程调试可以帮助学员快速理解和掌握Spring Boot的调试技巧和方法。教师可以通过远程调试功能远程连接到学员的开发环境,进行实时调试和指导。

总之,远程调试Spring Boot项目可以帮助开发人员快速定位和解决问题,提高开发效率和质量,适用于多人协作开发、服务器部署调试、客户现场问题排查和远程教学和培训等场景。

六、扩展点

当涉及远程调试Spring Boot项目时,下面是一些进一步的知识点可以了解:

1、远程调试工具:常用的远程调试工具有Java远程调试工具(例如JDWP,Java Debug Wire Protocol)和Eclipse Remote Java Application。这些工具可以让开发人员在本地IDE中连接到远程应用程序,并进行实时调试。

2、远程调试配置:要启用远程调试,需要在Spring Boot项目的启动命令中添加调试参数。例如,可以通过在启动命令中添加-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005来启用Java远程调试,并将调试端口设置为5005。

3、本地IDE配置:在本地IDE中,需要配置远程调试连接。具体步骤可能因IDE而异,但一般需要指定远程主机和端口。例如,在Eclipse中,可以通过“Run -> Debug Configurations -> Remote Java Application”来配置远程调试连接。

4、断点调试:一旦远程调试连接成功建立,开发人员可以在本地IDE中设置断点,并在远程应用程序中触发这些断点。这允许开发人员逐行调试代码,查看变量的值和执行路径,以找出问题所在。

5、日志和异常信息:在远程调试期间,开发人员可以查看应用程序的日志和异常信息,以帮助定位问题。可以在本地IDE中查看应用程序的控制台输出,或者通过日志框架(如logback或log4j)将日志输出到文件中。

6、安全性考虑:远程调试功能可能会带来一些安全风险,因此在生产环境中应谨慎使用。为了保护远程调试端口的安全,可以设置防火墙规则或限制访问权限。

总的来说,远程调试Spring Boot项目是一种强大的工具,可以帮助开发人员快速定位和解决问题。然而,由于安全性和性能方面的考虑,应该在适当的场景和环境中使用远程调试功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/765014.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

golang网络编程学习-websocket

golang网络编程学习-websocket 网络编程主要的内容是: 1.TCP网络编程 2.http服务 3.rpc服务 4.websocket服务 一、websocket编程 1.1服务端,代码来自网络,仅限于学习研究 package mainimport ("fmt""net/http""os…

智慧签 - 开源研究系列文章

这些天整理了一下以前的代码,将一个插件里的便签器的源码单独找出来,弄成了这个“智慧签”的程序。程序比较简单,具体请读者自己看代码。 1、 项目目录; 目录见下图,对代码进行了划分,比较简单。主处…

golang网络编程学习-1rpc

网络编程主要的内容是: 1.TCP网络编程 2.http服务 3.rpc服务 4.websocket服务 一、rpc RPC 框架----- 远程过程调用协议RPC(Remote Procedure Call Protocol)-----允许像调用本地服务一样调用远程服务。 RPC是指远程过程调用,也就是说两台服…

visual studio配置调用c++ dll opencv为例

1,配置VC目录,包含目录和库目录。 2,链接器->输入->包含目录 3,生成目录下包含对应的dll文件 4,需注意对应的Debug,Release及X86,X64选项

flutter 自适应宽高气泡框,聊天气泡框

先看效果 前言:::: 网上好多气泡框,都让写固定宽高,无法自适应文本内容。 还有的就是通过算child 然后动态计算气泡框宽高,脱裤子💨,放到listview 刷新数据还会丢ui&am…

Spring Cloud Alibaba的组件(解决方案)

Spring Cloud Alibaba的组件(解决方案) 前言Spring CloudSpring Cloud Alibaba问题的解决方案面临的问题Spring Cloud Alibaba给出的解决方案 前言 在之前的文章里我们介绍了分布式微服务以及其需要解决的问题,现在我们看看在Spring Cloud A…

31. IO操作

一、概览二、磁盘操作三、字节操作 实现文件复制装饰者模式 四、字符操作 编码与解码String 的编码方式Reader 与 Writer实现逐行输出文本文件的内容 五、对象操作 序列化Serializabletransient 六、网络操作 InetAddressURLSocketsDatagram 七、NIO 流与块通道与缓冲区缓冲区状…

数据结构基本概念、线性表、顺序表

一、头文件 head.h #ifndef __HEAD_H__ #define __HEAD_H__#include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXSIZE 8typedef int datatype; typedef struct {int len;datatype data[MAXSIZE]; }Seqlist;Seqlist * Request_space(voi…

利用python绘制对数坐标轴

利用python绘制对数坐标轴 1&#xff09;效果图 2&#xff09; 程序代码 import matplotlib.pyplot as plt import numpy as np# 设置图形的大小 plt.figure(figsize(8, 6))# 设置x轴的范围为10的-4次方到10的3次方 plt.xlim(1e-4, 1e3)# 绘制x轴的对数坐标轴 plt.xscale(log…

浅谈防火门监控系统在酒店防火安全中的重要应用

安科瑞 华楠 摘要&#xff1a;建筑防火问题已经引起人们的广泛关注&#xff0c;合理进行建筑消防设计成为了建筑设计的重要内容。防火门监控系统是建筑防火研究的新成果。对日常防火分区监控及发生火灾后对火势和有毒气体的控制起到关建作用。文章对防火门监控系统的组成和工…

网络安全(黑客技术)自学笔记+就业市场前景分析

一、针对网络安全市场分析 市场需求量高&#xff1b;则是发展相对成熟入门比较容易。所需要的技术水平国家政策环境 对于国家与企业的地位愈发重要&#xff0c;没有网络安全就没有国家安全 更有为国效力的正义黑客—红客联盟 可见其重视程度。 需要掌握的知识点偏多 外围打点…

18 - 堆栈 - 二项堆

前面我们学习了斐波那契堆, 今天我们来学习二项堆! 二项堆 二项堆是二项树的集合或是由一组二项树组成。 二项堆H由一组满足以下性质的二项树组成: 1) H中的每个二项树都遵循最小堆性质:节点的关键字不大于其子节点的关键字。因此,根的关键字最小 2) 对任意非负整数…

【ARM——当前程序状态寄存器 CPSR

文章目录 CPSRSPSRSPSRCPSR 各个位含义 CPSR Current Program Status Register 即 CPSR,当前程序状态寄存器&#xff0c;可以在任何处理器模式下被访问。它包含了条件标志位、中断禁止位&#xff0c;当前处理器模式标志以及其他的一些控制和状态位。 SPSR 除了 usr 和 sys 模…

【C++】list的使用及底层实现原理

本篇文章对list的使用进行了举例讲解。同时也对底层实现进行了讲解。底层的实现关键在于迭代器的实现。希望本篇文章会对你有所帮助。 文章目录 一、list的使用 1、1 list的介绍 1、2 list的使用 1、2、1 list的常规使用 1、2、2 list的sort讲解 二、list的底层实现 2、1 初构…

vue文件上传,文件打不开。文件上传 on-progress不触发

//文件上传带进度条<el-uploadv-model:file-list"fileList":limit"3":on-progress"beforeAvatarUpload"//on-progress 不触发&#xff0c;触发的关键在于覆盖原有的http请求:http-request"getFile":action"${app.api}/student…

【从零开始学习JAVA | 第二十九篇】Stream流

目录 前言&#xff1a; Stram流&#xff1a; 设计目标&#xff1a; 使用步骤&#xff1a; 1.先得到一条Stream流&#xff0c;并把数据放上去。 2.利用Stream流中的各种API进行操作。 使用Stream流的注意事项&#xff1a; 总结: 前言&#xff1a; 本文我们将学习Stream流…

Windows用户注意!LokiBot恶意软件正通过Office文档传播

Windows用户再次成为被称为LokiBot恶意软件的攻击目标&#xff0c;该恶意软件通过Office文档进行传播。 根据Fortinet安全研究员Cara Lin的最新报告&#xff0c;攻击者利用已知漏洞&#xff0c;如CVE-2021-40444和CVE-2022-30190&#xff0c;在微软Office文档中嵌入恶意宏。 …

Eulaceura 版本 23H1:RISC-V 架构新的里程碑

近日&#xff0c;RISC-V SIG 发布了 Eulaceura 版本 23H1&#xff0c;这是发行版的一次重大更新&#xff0c;新版本搭建了 linux kernel 6.1 版本内核&#xff0c;适用于矽速科技 LicheePi 4A 的映像也已公布。Eulaceura 是首个将 RISC-V 架构纳入第一级支持范围的 openEuler 发…

深入理解网络栈

网络路径 发送端 应用层 1、socket 各种网络应用程序基本上都是通过 Linux Socket 编程接口来和内核空间的网络协议栈通信的 socket 是网络编程的入口&#xff0c;它提供了大量的系统调用&#xff0c;构成了网络程序的主体 udp UDP 是面向无连接的协议&#xff0c;不需要与…

CycleGAN论文的阅读与翻译,无监督风格迁移、对抗损失

CycleGAN论文的阅读与翻译&#xff0c;无监督风格迁移 CycleGAN 论文原文 arXiv CycleGAN junyanz&#xff0c;作者自己用 lua 在 GitHub 上的实现 CycleGAN tensorflow PyTorch by LynnHo&#xff0c;一个简单的 TensorFlow 实现 0. 摘要&#xff1a; 图像到图像的翻译 (Ima…