1. 介紹
當我們在開發(fā)過程中遇到一些復雜的問題或需要對代碼進行調(diào)試時,遠程調(diào)試是一種非常有用的工具。使用 IntelliJ IDEA 進行遠程調(diào)試可以讓你在遠程服務器上的應用程序中設(shè)置斷點、查看變量和執(zhí)行調(diào)試操作。
遠程調(diào)試的好處如下:
- 提供更方便的調(diào)試環(huán)境:通過遠程調(diào)試,你可以在自己熟悉的 IntelliJ IDEA 開發(fā)環(huán)境中進行調(diào)試,而不需要在遠程服務器上進行調(diào)試。
- 快速定位問題:遠程調(diào)試允許你逐行調(diào)試代碼,一步一步地了解代碼的執(zhí)行過程。這有助于快速定位和解決問題,尤其是在復雜的代碼邏輯或邊界情況下。
- 查看變量并進行監(jiān)視:你可以在運行過程中查看變量的值,并監(jiān)視它們的變化。這有助于了解代碼在執(zhí)行期間的狀態(tài),找出潛在的錯誤。
- 重現(xiàn)遠程環(huán)境的問題:通過在本地進行遠程調(diào)試,你可以在自己的開發(fā)環(huán)境中重現(xiàn)遠程服務器上的問題。這樣,你可以更輕松地調(diào)試并找出根本原因。
2. 創(chuàng)建一個springboot項目
1、創(chuàng)建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) {
// 匿名內(nèi)部類方式構(gòu)建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. 將項目打包,并部署到虛擬機上
前提環(huán)境:別忘裝JDK
1、將項目打包,上傳到虛擬機的/tmp目錄
2、切到/tmp目錄,執(zhí)行如下命令啟動程序
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中創(chuàng)建遠程調(diào)試啟動項
1、添加遠程調(diào)試啟動項
2、配置遠程調(diào)試參數(shù)
5. 測試
1、在指定代碼處打斷點
2、Bebug啟動遠程調(diào)試
3、訪問項目接口:http://192.168.150.123:6633/api/user/info文章來源:http://www.zghlxwxcb.cn/news/detail-508262.html
ok,到這里我們就簡單把debug遠程調(diào)試跑通了?。文章來源地址http://www.zghlxwxcb.cn/news/detail-508262.html
到了這里,關(guān)于IDEA遠程DeBug調(diào)試的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!