使用IDE实现java端远程调试功能

使用IDE实现java端远程调试功能

  • 1. 整体描述
  • 2. 前期准备
  • 3. 具体操作
    • 3.1 修改启动命令
    • 3.2 IDE配置
    • 3.3 打断点
    • 3.4 运行Debug
  • 4. 总结

1. 整体描述

在做项目时,有些时候,需要和第三方进行调式,但是第三方不在一起,需要进行远程调试,这时候就需要连接公司的服务器进行debug模式,本文就讲下怎么配置服务器远程调试。

2. 前期准备

如果需要远程调试,需要进行如下准备:

  1. 服务器,最好能在公网访问,公网访问不是必要条件
  2. 映射出远程调试端口,比如用8090,需要映射,如果用docker部署,可以参考我之前写的这篇文章:已有docker增加端口号,不用重新创建Docker
  3. 本地电脑使用IDE调试

3. 具体操作

这里就只写下使用Springboot框架下的配置方法:

3.1 修改启动命令

修改java程序的启动命令,增加如下:

-Xdebug  -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8090

其中8090就是远程调试的端口号

3.2 IDE配置

在IDE的RUN->Edit Configurations里面,添加:
IDE配置
按照上图选择,其中Host就是服务器的IP,PORT就是上文说的端口号,然后点击OK保存

3.3 打断点

在上述操作完成,可以在程序里打断点了。

3.4 运行Debug

然后选3.2创建的那个,点击右边的debug按钮就可以了,这个时候程序就会启动起来,如果程序运行到断点处,就会看到debug信息
运行debug
如果运行时,提示无法建立连接,可能是端口号没开放,IDE无法访问,我第一次也是这样,后来研究添加端口的方式就可以了,开始想用nginx映射没成功,直接开端口可以了,就没再研究用nginx的方式了。

4. 总结

其实配置方式还是挺简单的,我已经按照上述配置方式成功进行远程调试了,中间有些坑就不说了,总之按照上述步骤是可以成功进行远程调试的,有了这种调试手段,还是很方便的,尤其是调试一些本地无法运行的代码的时候。
但是需要注意,这个远程调试只能一个人用,多人使用会有问题,因为本质还是socket通信的。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蜀道山CTF<最高的山最长的河>出题记录

出这道题的最开始感觉就是,因为现在逆向的形式好多,我最开始学习的时候,经常因为很多工具,或者手段完全不知道,就很懵逼,很多师傅都出了各种类型的,我就想着给以前的"自己"出一道正常exe,慢慢调的题,为了不那么简单,我就选择了C(究极混淆,可能比rust好点),让大家无聊…

Quartus+Nios II for eclipse问题合集

由于对于FPGANIOS II 的工作需要,对工作过程中遇到的问题进行记录,持续更新。 1、BSP directory does not exist: . Stop.Nios II使用过程中遇到的一些问题2_error executing nios2-bsp-generate-files --bsp-di-CSDN博客https://blog.csdn.net/qq_39485…

AWTK VSCode 实时预览插件端口冲突的解决办法

AWTK XML UI 预览插件:在 vscode 中实时预览 AWTK XML UI 文件,在 Copilot 的帮助下,可以大幅提高界面的开发效率。 主要特色: 真实的 UI 效果。可以设置主题,方便查看在不同主题下界面的效果。可以设置语言&#xf…

开源项目低代码表单设计器FcDesigner获取表单的层级结构与组件数据

在使用开源项目低代码表单设计器FcDesigner时,获取和理解表单的层级结构非常关键。通过getDescription和getFormDescription方法,您可以清晰掌握表单组件的组织结构和层次关系。这些方法为操控表单的布局和配置提供了强大的支持。 源码地址: Github | G…

如何对AWS进行节省

AWS 云服务器的费用确实可能会让人感到高昂,尤其是在资源使用不当或配置过多的情况下。不过,通过一些策略的合理应用和优化,完全可以降低云服务的使用成本,实现高效节省。以下是九河云总结的几种主要的优化方法,帮助你…

Macmini中普通鼠标与TrackPad联动问题解决

入手了一款Macmini,然后接了一个普通鼠标,然后又买了一个TrackPad。 接下来,问题来了,这两个玩意之间是联动的,出现问题的地方在于鼠标滚轮对于页面内容滚动的方向上。 通常Windows系统中,鼠标滚轮向前&am…

基于Spring Boot+Unipp的博物馆预约小程序(协同过滤算法、二维码识别)【原创】

🎈系统亮点:协同过滤算法、二维码识别; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk17 前端: 技术:框…

深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解

目录 深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解 一、引言:为什么要使用Array.find() 二、Array.find()的使用与技巧 1、基础语法 2、返回值 3、使用技巧 三、Array.find()的优势与实际应用案例 1、利用返回引用…

安全、便捷、效率高,明达边缘计算网关助力制药装备企业远程调机

随着药厂对设备运维需求的增长,制药装备企业需要在提高运维效率的同时,降低人工及差旅成本。制药装备因其数据具有高度的保密性,要求运维工程师提供安全可靠的远程调试方式。本案例介绍了明达技术MBox20系列5口WIFI通用网关在制药装备上的应用…

HBase 开发:使用Java操作HBase

1、实战简介 HBase和Hadoop一样,都是用Java进行开发的,本次实训我们就来学习如何使用Java编写代码来操作HBase数据库。 实验环境: hadoop-2.7 JDK8.0 HBase2.1.1 2、任务 1、第1关:创建表 package step1; import java.io.IOE…

vulhub之log4j

Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645) 漏洞简介 Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。 Apache Log4j 在应用程序中添加日志记录最…

【视觉SLAM】2-三维空间刚体运动的数学表示

读书笔记:学习空间变换的三种数学表达形式。 文章目录 1. 旋转矩阵1.1 向量运算1.2 坐标系空间变换1.3 变换矩阵与齐次坐标 2. 旋转向量和欧拉角2.1 旋转向量2.2 欧拉角 3. 四元数 1. 旋转矩阵 1.1 向量运算 对于三维空间中的两个向量 a , b ∈ R 3 a,b \in \R^3 …

Ubuntu22.04基于ROS2-Humble安装moveit2教程(亲测)

一、安装ROS2-Humble 1、参考:Ubuntu22.04安装ROS2-humble-CSDN博客 2、确保安装完成 source /opt/ros/humble/setup.bash 方法一:二进制安装 sudo apt install ros-humble-moveit* 方法二:安装源码编译 一、卸载二进制安装包 sudo a…

一些常见网络安全术语

1、黑帽 为非法目的进行黑客攻击的人,通常是为了经济利益。他们进入安全网络以销毁,赎回,修改或窃取数据,或使网络无法用于授权用户。这个名字来源于这样一个事实:老式的黑白西部电影中的恶棍很容易被电影观众识别&…

ISCTF 2024 web

ISCTF 2024 web 小蓝鲨的冒险 源码&#xff1a; <?php error_reporting(0); highlight_file(__FILE__); $a "isctf2024"; $b $_GET["b"]; parse_str($b); echo "小蓝鲨开始闯关&#xff0c;你能帮助他拿到flag吗?<br>"; if ($a…

AIGC----生成对抗网络(GAN)如何推动AIGC的发展

AIGC: 生成对抗网络(GAN)如何推动AIGC的发展 前言 随着人工智能领域的迅猛发展&#xff0c;AI生成内容&#xff08;AIGC&#xff0c;AI Generated Content&#xff09;正成为创意产业和技术领域的重要组成部分。在AIGC的核心技术中&#xff0c;生成对抗网络&#xff08;GAN&am…

删除k8s 或者docker运行失败的脚本

vi delete_exited_containers.sh#!/bin/bash# 列出所有停止的容器并存储到数组 list_exited_containers() {echo -e "\nStopped containers:"containers()# 获取停止的容器信息并存入数组while IFS read -r line; docontainers("$line")done < <(do…

如何在MindMaster思维导图中制作PPT课件?

思维导图是一种利用色彩、图画、线条等图文并茂的形式&#xff0c;来帮助人们增强知识或者事件的记忆。因此&#xff0c;思维导图也被常用于教育领域&#xff0c;比如&#xff1a;教学课件、读书笔记、时间管理等等。那么&#xff0c;在MindMaster免费思维导图软件中&#xff0…

【unity小技巧】一些unity3D灯光的使用与渲染及性能优化方案

文章目录 天空盒反射配置太阳耀斑眩光烘培光照烘培光照时弹出错误&#xff0c;记得勾选模型下面的选择阴影项目配置光源模型模型shader的问题 全局光照混合光照模式混合照明模式减性照明模式Shadowmask照明模式间接烘焙照明模式 环境光遮罩灯光探针反射探针技术关闭反射探针可以…

Linux :进程间通信之管道

一、进程间通信 1.1 是什么和为什么 1、进程间通信是什么&#xff1f;&#xff1f; ——>两个或多个进程实现数据层面的交互&#xff0c;但是由于进程独立性的存在&#xff0c;导致通信的成本比较高。 2、既然通信成本高&#xff0c;那为什么还要通信呢&#xff1f;&…