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的远程调试就介绍完了。

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

相关文章

  • 使用注解开发SpringMVC详细配置教程

    使用注解开发SpringMVC详细配置教程

    这篇文章主要介绍了使用注解开发SpringMVC详细配置教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • java基面试础知识详解

    java基面试础知识详解

    这篇文章主要介绍了java基面试础知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Java实现图书管理系统的示例代码

    Java实现图书管理系统的示例代码

    这篇文章将通过Java实现一个简答的图书管理系统,本图书管理系统用对象数组的方式来提供操作方法,比较特别,建议新手学习,这对理解Java面向对象有很大帮助
    2022-11-11
  • Java源码解析之Iterable接口

    Java源码解析之Iterable接口

    遍历集合我相信大部分coder都会遇到,也经常使用,而Java给我们提供了多种选择,接下来就让我们一起来看看吧,需要的朋友可以参考下
    2021-05-05
  • Java实现PDF在线预览功能(四种方式)

    Java实现PDF在线预览功能(四种方式)

    这篇文章主要介绍了Java实现PDF在线预览功能的四种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Spring Cloud Hystrix 线程池队列配置(踩坑)

    Spring Cloud Hystrix 线程池队列配置(踩坑)

    这篇文章主要介绍了Spring Cloud Hystrix 线程池队列配置(踩坑),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 详解关于spring bean名称命名的那些事

    详解关于spring bean名称命名的那些事

    每个bean都有一个或者多个标识符,这些标识符在容器中必须是唯一的,这篇文章主要给大家介绍了关于spring bean名称命名的那些事,需要的朋友可以参考下
    2021-07-07
  • SpringBoot Web请求响应详细代码示例

    SpringBoot Web请求响应详细代码示例

    在Web开发中请求和响应是必不可少的环节,Spring Boot Web应用中请求响应的分层解耦是构建高效、可维护系统的关键实践,下面这篇文章主要介绍了SpringBoot Web请求响应的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • SpringMVC HttpMessageConverter报文信息转换器

    SpringMVC HttpMessageConverter报文信息转换器

    ​​HttpMessageConverter​​​,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文。​​​HttpMessageConverter​​​提供了两个注解和两个类型:​​@RequestBody,@ResponseBody​​​,​​RequestEntity,ResponseEntity​​
    2023-01-01
  • 基于Java检查IPv6地址的合法性

    基于Java检查IPv6地址的合法性

    这篇文章主要介绍了基于Java检查IPv6地址的合法性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01

最新评论