基于IDEA Java 项目远程DEBUG调试

简介: 基于IDEA Java 项目远程DEBUG调试

远程调试是指服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内部状态。

一、 场景

   1. 第三方接口开发的异步回调接口;如:微信支付、支付宝支付等

   2. 依赖特定环境的测试,只能把本地代码放入到该环境中;

二、 常见环境

   1. 在服务器端以Jar启动的应用,如现在非常流行的Spring Boot

      a. 在启动springboot时默认使用java命令来启动。  比如,示例项目启动命令为:java                                      -jar xxx. jar                                                                                          

开启远程调试模式的命令为:                                          

java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 xxxx.jar复制代码

   执行该命令后,在服务器端会开启远程调试端口5005(端口可自定义,但要注意服务器防火墙); 在客户端可以通过 telnet host port命令

检查服务器远程端口是否可以连接。

b. 在开发机器上IDEA工具 配置

   首先 Edit configurations,点击+号,创建一个Remote应用。

18a70c4eb3a84a5f97f1367f84b385f.png

填写name,配置Host地址(远程服务器地址)和端口(选一个未被占用的端口)。

7ddf83fd0684c2304cdc5bd4333845b.png                                                                                                                                                                                                              

 点击Ok按钮,再启动刚才配置的Remote服务; 看控制台输出信息,是否与服务器端建立连接; 建立连接完成,对需要debug的代码打上断点                                                                                                                                                                                        

,剩下的操作步骤就是访问远程服务器对应的业务请求,本地就会同步debug。其余的操作与本地debug相同,此处就不再赘述了。                                                                                                                                                                                        

   2. 以Tomcat启动的Web项目

      a. 在服务器上开启tomcat远程调试命令(已Windows为例):  %TOMCAT_HOME%\bin\catalina.bat     jpda   start;  

   在服务器端口开启远程调试默认端口: 8000;

    如需更改TOMCAT开放默认远程调试端口

    方法1、

WIN系统,在catalina.bat里:

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005复制代码

Linux系统,在catalina.sh里:

CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" 复制代码

b. 开发机器IDEA 配置请参考上面 IDEA工具配置

目录
相关文章
|
5月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
567 1
|
6月前
|
前端开发 Java API
2025 年 Java 全栈从环境搭建到项目上线实操全流程指南:Java 全栈最新实操指南(2025 版)
本指南涵盖2025年Java全栈开发核心技术,从JDK 21环境搭建、Spring Boot 3.3实战、React前端集成到Docker容器化部署,结合最新特性与实操流程,助力构建高效企业级应用。
1970 1
|
6月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
748 64
|
5月前
|
IDE 安全 Java
Lombok 在企业级 Java 项目中的隐性成本:便利背后的取舍之道
Lombok虽能简化Java代码,但其“魔法”特性易破坏封装、影响可维护性,隐藏调试难题,且与JPA等框架存在兼容风险。企业级项目应优先考虑IDE生成、Java Records或MapStruct等更透明、稳健的替代方案,平衡开发效率与系统长期稳定性。
253 1
|
5月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
7月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
617 0
|
7月前
|
人工智能 安全 Java
掌握Java反射:在项目中高效应用反射机制
Java反射是一种强大功能,允许程序在运行时动态获取类信息、创建对象、调用方法和访问字段,提升程序灵活性。它在框架开发、动态代理、注解处理等场景中广泛应用,如Spring和Hibernate。但反射也存在性能开销、安全风险和代码复杂性,应谨慎使用。
157 0
|
分布式计算 分布式数据库 开发工具
Spark On HBase Idea远程调试
本文介绍如何在本地IDEA远程调试Spark On HBase。 前提条件: 1、已经安装了Intellij IDEA,Git、Maven。2、HBase集群开通了外网地址。3、HBase集群为IDEA运行的机器开通了白名单。
1781 0
|
9月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
610 27
|
9月前
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
1159 18