Java服务实现开启Debug远程调试

 更新时间:2025年09月27日 14:55:13   作者:漂泊之云  
文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率

一、背景

日常项目中,通常我们的代码都是部署到远程的服务器,有时线上出现了问题,

经常需要我们增加一些日志来排查问题,但是如果是测试环境的场景下或者我们能进行远程调试的话,

我们就可以使用远程的Debug方式进行远程调试,不用频繁的修改代码部署到远程服务器上。

这时就需要我们的服务需要开启远程Debug了。

二、相关图示说明

三、具体操作步骤

1、服务端配置

通常debug模式是关闭的,如果没有特地打开的话,通常是通过设置JVM启动参数来实现。

你可以使用以下参数来启动Java程序,并开启调试功能:

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888(debug监听端口号)

进行java -jar后面进行启动,代表我们的服务端开启的debug模式,并监听了8888的端口。

备注:

  • suspend 参数如果设置为 y,则表示在调试客户端连接之前,JVM 会暂停执行;
  • 如果设置为 n,则表示即使没有调试客户端连接,JVM也会继续执行。

2、客户端配置

如果你想在本地机器上的8000端口监听调试请求,可以这样启动Java程序:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888(远程的Debug服务端口)

在IDEA的应用下可以用这个方式进行设置:

添加一个远程debug, 然后配置好对应的服务端的端口:

然后选择对应服务器的代码,使用debug的模式进行启动,这样本地就能连上远程的服务开始debug了。

后面的操作就跟本地debug一样,选择需要断点的代码,进行断点操作即可。

总结

至此Java服务开启Debug的远程调试就介绍完了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • CentOS安装jdk的三种方法

    CentOS安装jdk的三种方法

    这篇文章主要为大家详细介绍了CentOS安装jdk的三种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Springboot集成graylog及配置过程解析

    Springboot集成graylog及配置过程解析

    这篇文章主要介绍了Springboot集成graylog及配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • Java 超详细讲解异常的处理

    Java 超详细讲解异常的处理

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等
    2022-04-04
  • 关于Java 项目封装sqlite连接池操作持久化数据的方法

    关于Java 项目封装sqlite连接池操作持久化数据的方法

    这篇文章主要介绍了Java 项目封装sqlite连接池操作持久化数据的方法,文中给大家介绍了sqlite的体系结构及封装java的sqlite连接池的详细过程,需要的朋友可以参考下
    2021-11-11
  • Java使用JaCoCo进行代码覆盖率分析的操作指南

    Java使用JaCoCo进行代码覆盖率分析的操作指南

    JaCoCo是一个开源的 Java 代码覆盖率工具,广泛应用于测试过程中,它可以帮助开发者分析测试代码的覆盖情况,在本文中,我们将介绍 JaCoCo 的基本功能、如何集成到 Maven 项目中,以及通过具体案例展示如何生成覆盖率报告,需要的朋友可以参考下
    2025-02-02
  • Java中Synchronized锁的使用和原理详解

    Java中Synchronized锁的使用和原理详解

    这篇文章主要介绍了Java中Synchronized锁的使用和原理详解,synchronized是 Java 内置的关键字,它提供了一种独占的加锁方式,synchronized的获取和释放锁由JVM实现,用户不需要显示的释放锁,非常方便,需要的朋友可以参考下
    2023-07-07
  • Java基本数据类型与类型转换实例分析

    Java基本数据类型与类型转换实例分析

    这篇文章主要介绍了Java基本数据类型与类型转换,结合实例形式分析了Java基本数据类型分类、用法,类型转换及相关操作注意事项,需要的朋友可以参考下
    2020-04-04
  • 基于spring DI的三种注入方式分析

    基于spring DI的三种注入方式分析

    这篇文章主要介绍了基于spring DI的三种注入方式分析,具有很好的参考价值,希望对大家有所帮助。
    2021-07-07
  • java web图片上传和文件上传实例详解

    java web图片上传和文件上传实例详解

    这篇文章主要介绍了java web图片上传和文件上传实例详解的相关资料,这里提供了两种方法及示例代码,需要的朋友可以参考下
    2016-11-11
  • MybatisPlus使用聚合函数的示例代码

    MybatisPlus使用聚合函数的示例代码

    本文主要介绍了MybatisPlus使用聚合函数的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论