返回顶部
首页 > 资讯 > 后端开发 > Python >springboot使用IDEA远程Debug
  • 906
分享到

springboot使用IDEA远程Debug

2024-04-02 19:04:59 906人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录 1、先创建一个准备远程调试的Demo,注意构建项目的配置2、打包3、在idea配置远程Debug4、在终端启动刚才打好的jar包5、测试项目上线之后,如果日志打印的很

项目上线之后,如果日志打印的很模糊或者业务逻辑比较复杂,有时候无法定位具体的错误原因,因此可以通过IDEA远程代理进行Debug。

线上的代码一定要和本地的一致!

环境:

  • 2.1.4.RELEASE(org.springframework.boot)
  • jdk1.8
  • Apache Maven 3.5.0

 1、先创建一个准备远程调试的Demo,注意构建项目的配置


<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.4.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.remote.test</groupId>
	<artifactId>remote_test</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>remote_test</name>
	<description>Demo project for Spring Boot</description>
 
	<properties>
		<java.version>1.8</java.version>
	</properties>
 
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
 
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-WEB</artifactId>
		</dependency>
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>RELEASE</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
 
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>2.2</version>
				<dependencies>
					<dependency>
						<groupId>org.springframework.boot</groupId>
						<artifactId>spring-boot-maven-plugin</artifactId>
						<version>2.1.4.RELEASE</version>
					</dependency>
				</dependencies>
				<configuration>
					<keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope>
					<createDependencyReducedPom>false</createDependencyReducedPom>
					<filters>
						<filter>
							<artifact>*:*</artifact>
							<excludes>
								<exclude>META-INF/*.SF</exclude>
								<exclude>META-INF/*.DSA</exclude>
								<exclude>META-INF/*.RSA</exclude>
							</excludes>
						</filter>
					</filters>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<Goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<finalName>${project.artifactId}-${project.version}-all</finalName>
							<transfORMers>
								<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/spring.handlers</resource>
								</transformer>
								<transformer implementation="org.springframework.boot.maven.PropertiesMergingResourceTransformer">
									<resource>META-INF/spring.factories</resource>
								</transformer>
								<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
									<resource>META-INF/spring.schemas</resource>
								</transformer>
								<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
								<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
									<!--根据项目的全名指定启动类-->
                                    <mainClass>com.remote.test.remote_test.RemoteTestApplication</mainClass>
								</transformer>
							</transformers>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

package com.remote.test.remote_test;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
 
import java.util.HashMap;
import java.util.Map;
 
 
@RestController
@RequestMapping("remote/test")
public class UserController {
 
    private static final Logger logger = LoggerFactory.getLogger(UserController.class);
 
 
    @PostMapping("selectByUserId")
    public String selectUserInfo(@RequestParam("userId") String userId) {
        try {
            Map<String,Object> userInfo = new HashMap<>();
            userInfo.put("userId",userId);
            userInfo.put("age",23);
            userInfo.put("name","yanshao");
            userInfo.put("address","shanghai");
            logger.info("Query user information by user ID. userInfo: {}",userInfo.toString());
            return this.success(userInfo);
        } catch (Exception e) {
            logger.error("Query user information by user ID. userId:{} ", userId, e);
            return this.fail();
        }
    }
 
    private String success(Object data){
        Map<String,Object> res = new HashMap<>();
        res.put("code",0);
        res.put("desc","success");
        res.put("data",data);
        return res.toString();
    }
 
    private String fail(){
        Map<String,Object> res = new HashMap<>();
        res.put("code",1);
        res.put("desc","fail");
        return res.toString();
    }
 
}

2、打包

输入:mvn clean package,(大概需要等几分钟),最好在构建之前指定本地repository,就不需要重新下载jar包了。

3、在IDEA配置远程Debug

指定socket port = 8081,指定准备debug的模块

4、在终端启动刚才打好的jar包

a. 先在IDEA启动debug

b. 然后在终端输入命令:java -agentlib:jdwp=transport=dt_socket,server=n,address=localhost:8081 -jar remote_test-0.0.1-SNAPSHOT-all.jar

5、测试

在准备请求的接口上标记断点

注意:必须先在IDEA启动Debug,然后再启动项目

➜ Desktop java -agentlib:jdwp=transport=dt_Socket,server=n,address=localhost:8081 -jar remote_test-0.0.1-SNAPSHOT-all.jar

ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]

到此这篇关于SpringBoot使用IDEA远程Debug的文章就介绍到这了,更多相关springboot IDEA远程Debug内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: springboot使用IDEA远程Debug

本文链接: https://www.lsjlt.com/news/127855.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • springboot使用IDEA远程Debug
    目录 1、先创建一个准备远程调试的Demo,注意构建项目的配置2、打包3、在IDEA配置远程Debug4、在终端启动刚才打好的jar包5、测试项目上线之后,如果日志打印的很...
    99+
    2024-04-02
  • 怎么在springboot中使用IDEA远程连接Debug
    本篇文章为大家展示了怎么在springboot中使用IDEA远程连接Debug,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 1、先创建一个准备远程调试的Demo,注意构建项目的配置<...
    99+
    2023-06-15
  • jvm开启远程调试功能;idea远程debug
    概述 有时候一些问题本地调试无法复现,这个时候可以开启jvm的远程调试功能 jar包启动 jdk8 java -agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=...
    99+
    2023-08-30
    jvm intellij-idea java
  • Debug如何在Intellij IDEA中使用
    本篇文章给大家分享的是有关Debug如何在Intellij IDEA中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Debug用来追踪代码的运行流程,通常在程序运行过程中出...
    99+
    2023-05-31
    intellij idea debug
  • idea远程debug调试部署在tomcat上项目
    目录一、IDEA添加Remote二、服务器配置三、开始debug调试本机场景:spring boot项目部署在腾讯云服务器的tomcat里。注意:要保证本地的代码与服务器上部署的代码...
    99+
    2024-04-02
  • IDEA实现远程Debug调试(附上Demo代码)
    目录 一、 前提二、 IDEA中如何实现远程Debug模式(1)、创建demo项目(2)、引入依赖(3)、创建启动类和创建demo(4)、配置idea 二、 IDEA的Debug的优缺点...
    99+
    2023-10-24
    intellij-idea java ide
  • springboot在idea下debug调试热部署问题
    目录一、热启动和热部署的区别(仅代表个人看法)二、spring boot在idea中的热启动三、spring boot在idea中的热部署1、直接用application启动2、使用...
    99+
    2023-02-07
    springboot热部署  springboot idea idea debug调试热部署
  • Intellij IDEA远程debug教程实战和要点总结(推荐)
    远程调试,特别是当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用。   JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设...
    99+
    2024-04-02
  • 使用IDEA向Gitee提交SpringBoot项目进行远程管理
    目录0. 环境说明1.创建并初始化 Spring Boot 项目2.创建Gitee仓库3.提交到远程仓库4. 可能遇到的问题如何将初始化完成的 Spring Boot 项目,提交的 ...
    99+
    2023-01-29
    Gitee提交SpringBoot项目 Gitee SpringBoot远程管理
  • 详解JAVA远程debug
    目录 1.什么是远程debug? 2.远程debug普通JAVA程序 环境 测试程序 程序启动指令 编译器配置 3.远程debug JAVA Web程序 4.远程debug spring boot程序 1.什么是远程debug? 远程d...
    99+
    2023-08-31
    服务器 运维 原力计划
  • 远程debug调试入门
    目录1.远程DEBUG的必要性2,IDEA构建SpringBoot测试Demo3,测试Demo项目配置支持远程调试4,IDEA打包jar5,启动jar并且带启动参数支持远程调试6,I...
    99+
    2024-04-02
  • idea以任意顺序debug多线程程序的具体用法
    目录1 debug 两类 Supspend2 按照顺序执行线程3 Condition的使用在idea中使用debug可以让多个线程以任意顺序执行,先介绍一下基础知识,然后介绍具体做法...
    99+
    2024-04-02
  • IDEA Debug如何实现多线程调试断点
    这篇文章主要介绍了IDEA Debug如何实现多线程调试断点,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。多线程调试断点Intellij IDEA 的debug断点...
    99+
    2023-06-27
  • pycharm debug怎么使用 pycharm进行debug调试的教程
    首先打开pycharm软件,导入一个项目,如下图所示 接着打开一个python文件,在要debug的地方添加一个断点,如下图所示 然后点击顶部的Run菜单,选择Debug选项,如下图...
    99+
    2024-05-10
    python pycharm
  • python使用IPython调试debug程序
    目录安装使用方法优点提示和不足参考链接关于IPython使用的入门文章,主要介绍了如何在程序代码中嵌入ipython用于调试,并分析了优点与不足。 在 Python 中编程时,我会花...
    99+
    2024-04-02
  • IDEA Debug过程中使用Drop Frame或Reset Frame实现操作回退的方法
    目录使用Reset Frame回退操作什么情况不能回退什么情况可以回退找不到Reset Frame?找找Drop Frame大家在Debug程序的时候,是否遇到过因为“下...
    99+
    2024-04-02
  • Eclipse中怎么设置远程Debug
    Eclipse中怎么设置远程Debug,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Eclipse远程Debug功能是应对以下的需求而诞生的:Eclipse 是一个集成开发环境...
    99+
    2023-06-17
  • 使用IDEA新建一个springboot项目
    目录 一、创建项目 File-->new-->Project  方式一 通过SpringInitializr创建 方式二 通过maven项目创建 ​编辑 方式三 通过https://start.spring.io/下载项目压缩包 二、配置配...
    99+
    2023-10-22
    spring boot intellij-idea java
  • 使用idea远程调试jar包的配置过程
    1.远程启动项目 配置JVM参数运行 -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debu...
    99+
    2024-04-02
  • java程序员必会的远程debug教程
    目录正文启动添加参数配置idea点击 editConfigurations...点击左上角的+号,选择Remote Jvm Debug填写地址和端口号启动debug模式测试正文 现在...
    99+
    2022-11-13
    java远程debug java debug
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作