IDEA远程DeBug调试

news/2024/11/15 7:00:33/

1. 介绍


在这里插入图片描述

当我们在开发过程中遇到一些复杂的问题或需要对代码进行调试时,远程调试是一种非常有用的工具。使用 IntelliJ IDEA 进行远程调试可以让你在远程服务器上的应用程序中设置断点、查看变量和执行调试操作。

远程调试的好处如下:

  1. 提供更方便的调试环境:通过远程调试,你可以在自己熟悉的 IntelliJ IDEA 开发环境中进行调试,而不需要在远程服务器上进行调试。
  2. 快速定位问题:远程调试允许你逐行调试代码,一步一步地了解代码的执行过程。这有助于快速定位和解决问题,尤其是在复杂的代码逻辑或边界情况下。
  3. 查看变量并进行监视:你可以在运行过程中查看变量的值,并监视它们的变化。这有助于了解代码在执行期间的状态,找出潜在的错误。
  4. 重现远程环境的问题:通过在本地进行远程调试,你可以在自己的开发环境中重现远程服务器上的问题。这样,你可以更轻松地调试并找出根本原因。

2. 创建一个springboot项目


1、创建springboot工程

2、导入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.aopmin</groupId><artifactId>debug_demo</artifactId><version>1.0.0</version><packaging>jar</packaging><!--父工程--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.2</version><relativePath/> <!-- lookup parent from repository --></parent><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!--springboot web起步依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.12</version></dependency></dependencies><build><!--指定项目打完包之后的名称,xxx地方自定义--><finalName>debug_demo</finalName><plugins><!--打包插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

3、修改服务端口号

server:port: 6633

4、编写controller接口

package cn.aopmin.controller;import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;
import java.util.Map;/*** @author 白豆五* @version 2023/06/28* @since JDK8*/
@RestController
@RequestMapping("/api/user")
public class UserController {// region 通过ID获取用户信息@PostMapping("/info")public String getInfo(Long userId) {// 匿名内部类方式构建map存放用户信息Map<String, Object> userInfo = new HashMap<String, Object>() {{put("userId", 129);put("userName", "白豆五");put("userAge", 18);put("userSex", "男");}};if (userId == userInfo.get(userInfo)) { //如果两个包装类型比值要用equals方法return "用户信息:" + userInfo.toString();}return "用户不存在";}//endregion
}

3. 将项目打包,并部署到虚拟机上


前提环境:别忘装JDK

1、将项目打包,上传到虚拟机的/tmp目录

在这里插入图片描述

2、切到/tmp目录,执行如下命令启动程序

java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005  zxx.jar

虚拟机IP地址:192.168.150.123,端口5005(别忘放行),jar包名: debug_demo.jar

java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=192.168.150.123:5005  debug_demo.jar
Listening for transport dt_socket at address: 5005

在这里插入图片描述


4. 在IDEA中创建远程调试启动项


1、添加远程调试启动项

在这里插入图片描述

在这里插入图片描述

2、配置远程调试参数

在这里插入图片描述


5. 测试


1、在指定代码处打断点

在这里插入图片描述

2、Bebug启动远程调试

在这里插入图片描述

3、访问项目接口:http://192.168.150.123:6633/api/user/info
在这里插入图片描述

ok,到这里我们就简单把debug远程调试跑通了✌。


http://www.ppmy.cn/news/633170.html

相关文章

解析库bs4的使用

一、bs4的使用 安装&#xff1a;pip3 install Beautifulsoup4 1.bs4遍历文档树 bs4&#xff1a;解析xml格式的模块&#xff0c;从xml中找想要的数据。 html是xml的一种&#xff0c;解析html&#xff0c;使用requests返回的数据&#xff0c;可能是json、html、文件&#xff0c…

中国和韩国电视面板技术对决,LG或成为牺牲者

传闻了一年多时间的三星QD-OLED电视将在本月推出&#xff0c;中国面板企业则力推miniLED技术&#xff0c;这对当下由LG主导的OLED电视市场将造成冲击&#xff0c;形成中韩决战电视面板技术的局面。 液晶面板与OLED面板技术之争 液晶面板技术主导电视市场已有20多年历史&#xf…

lg linux电视安装软件,LG电视无法安装第三方软件?当贝市场分享的LG安装当贝市场教程...

近日,有用户反馈自家的LG 电视无法安装当贝市场,把U盘插到电视上,不显示安装包,对于这种情况不知道如何解决。其实造成这样的现象是因为系统问题,接下来,小编就给大家带来了最新的详细安装方法。 在此之前需要说明的是:目前最新LG电视采用的是自家的Web OS系统,不支持安装安卓等…

Mirror for LG TV for Mac(LG智能电视投屏软件)

Mirror for LG TV for Mac是一款好用的Mac上LG智能电视投屏软件&#xff01;Mirror for LG TV mac版可以将Mac屏幕镜像到任何LG智能电视的应用程序。无需电线&#xff0c;无需额外硬件。这适用于2012款以上的任何LG智能电视以及LG家庭影院系统。 Mirror for LG TV for Mac安装教…

UE5 Motion Warping功能学习

MotionWarping&#xff08;运动扭曲&#xff09;可对角色根运动进行修改&#xff0c;从而让角色根运动动画结束时准确停在某一点&#xff0c;如图&#xff1a; 此外UE5还提供移动步幅、转向的Warping功能&#xff08;防滑步&#xff09;&#xff0c;之前写过一个简单的介绍可…

LLM - 第2版 ChatGLM2-6B (General Language Model) 的工程配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131445696 ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本&#xff0c;在保留了初代模型对话流畅、部署门槛较低等众多优…

后级功放机与单声道功放机的功能有哪些区别?

现实生活中&#xff0c;常用的功放机大部分是把放大小信号的前置放大器与后置功率放大器合并在一个机箱中&#xff0c;这种功放通常被称为“合并式功放”&#xff0c;合并式功放机的优点就是使用方便&#xff0c;同时具有比较优越的产品性能。 然而&#xff0c;这种合并式功放有…

D类功放设计

D类放大器是一种将输入模拟音频信号或PCM数字信息变换成PWM或PDM的脉冲信号&#xff0c;然后用PWM的脉冲信号去控制大功率开关器件通/断音频功率放大器。 系统设计 系统总体设计 本系统由高效率功率放大器(D类音频功率放大器)、信号变换电路、外接测试仪表组成。 D类功放设…