本地怎么远程调试服务器

服务启动的时候加上Java参数

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999

这个Java启动参数 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999 是用于启用 Java调试协议(JDWP) 的,允许调试器(如IntelliJ IDEA、Eclipse等)附加到正在运行的JVM进程上进行远程调试。以下是参数的详细解释:


参数分解

  1. -agentlib:jdwp
    • 表示加载JVM的本地代理库 jdwp(Java Debug Wire Protocol),用于支持调试功能。
  2. transport=dt_socket
    • 指定调试器与JVM之间的通信方式为 Socket连接 (默认端口可通过address指定)。
    • 其他可选值:dt_shmem(仅Windows,共享内存通信)。
  3. server=y
    • 表示当前JVM作为调试服务器,等待调试器主动连接(y=yes)。
    • 如果设为 n,则JVM会尝试以客户端模式连接调试器(较少用)。
  4. suspend=n
    • 是否在启动时暂停JVM,等待调试器连接后再继续执行:
      • y:暂停(适合调试启动问题)。
      • n:不暂停,直接运行(适合调试运行中的代码)。
  5. address=9999
    • 指定调试监听的端口号(这里是 9999)。调试器需要配置相同的端口才能连接。
    • 可以是具体端口(如 9999),或 *(随机端口,但需通过其他方式获取实际端口)。

典型使用场景

  1. 远程调试
    • 启动Java应用时添加此参数,然后在IDE中配置远程调试,连接到目标JVM的 9999 端口。
  2. 本地调试
    • 即使本地运行,也可以通过此参数启用调试,再通过IDE附加到进程。

示例命令

复制代码

bash

|---------------------------------------------------------------------------------------------|
| java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999 -jar your_app.jar |


注意事项

  1. 安全性
    • 调试端口会暴露JVM内部信息,不要在生产环境使用,或通过防火墙限制访问IP。
  2. 端口冲突
    • 如果 9999 被占用,可更换为其他端口(如 5005)。
  3. 性能影响
    • 调试模式会略微降低运行速度,但通常可忽略。
  4. -Xdebug 的区别
    • 旧版JVM可能使用 -Xdebug -Xrunjdwp:...,但 -agentlib:jdwp 是更现代的写法。

IDE配置示例(IntelliJ IDEA)

  1. 点击 Run → Edit Configurations
  2. 选择 + → Remote JVM Debug
  3. 填写 Host(目标机器IP)和 Port(如 9999)。
  4. 启动Java应用后,在IDE中点击调试按钮即可连接。

总结

这个参数的作用是:
"在JVM的9999端口上启动一个调试服务器,允许调试器通过Socket连接,且JVM启动后不暂停等待调试器。"

常用于开发或测试环境中诊断问题,但需避免在生产环境使用。

相关推荐
Web极客码2 分钟前
GPT-6 Astra 上手体验:如何让编码代理真正提速
服务器·gpt·ai·大模型·astra
yuewell_ai7 分钟前
具身机器人一多服务器就崩-告别轮询上事件驱动
运维·服务器·机器人
道尔柯南18 分钟前
【Linux】进程信号----1
linux·运维·服务器
逐流人22 分钟前
华为云服务全景指南:从基础架构到运维实践
运维·华为云·云计算·云服务·ecs
豆芽脚脚23 分钟前
华为鲲鹏arm服务器部署DeepSeek-V4-Flash-0731-w8a8
运维·服务器·arm开发
云运维笔记25 分钟前
免费模拟器ENSP:零成本学网络配置
服务器·网络·智能路由器
Mortalbreeze31 分钟前
深入理解 Linux IO 模型(四):多路复用 —— epoll
linux·运维·服务器·网络·tcp/ip
lucybean0143 分钟前
平板曝气器靠谱供应商甄别方法及选型策略解析
运维
阿里云云原生1 小时前
云原生可观测性落地:乐檬通过自然语言观测与自动巡检提升运维效能的最佳实践
运维·云原生·starops·云监控2.0
snow@li1 小时前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab