基于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工具配置

目录
相关文章
|
11月前
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
913 0
|
12月前
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
381 0
|
IDE Java 开发工具
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
IntelliJ IDEA创建Java项目的图文详细步骤,手把手带你创建Java项目
2163 10
【Java基础-环境搭建-创建项目】IntelliJ IDEA创建Java项目的详细步骤
|
监控 测试技术 开发者
IDEA项目调试你都会用了么,快看看是否有你不知道的调试技巧
在IntelliJ IDEA中,熟练运用调试工具可显著提升开发效率。通过设置断点、单步执行、变量监控等功能,快速定位问题并优化代码性能。此外,掌握多线程调试、异常处理及远程调试技巧也至关重要。为提高效率,建议合理使用条件断点、快捷键与日志监控,同时不断学习总结经验。若觉得有用,别忘了点赞收藏!
IDEA项目调试你都会用了么,快看看是否有你不知道的调试技巧
|
数据安全/隐私保护
IntelliJ IDEA使用技巧:在一个项目中如何正确引用其他子模块。
我希望这个解答可以帮助你,有了这些知识,你可以更好地使用IntelliJ IDEA并轻松处理项目中的子模块。
1092 19
|
IDE Java 开发工具
JetBrains IntelliJ IDEA 2025.1 发布 - 领先的 Java 和 Kotlin IDE
JetBrains IntelliJ IDEA 2025.1 (macOS, Linux, Windows) - 领先的 Java 和 Kotlin IDE
915 2
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
1721 78
|
Java Maven
Idea配置项目的热启动
Idea配置项目的热启动
3979 5
Idea配置项目的热启动
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
1136 6
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
1312 1