首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >idea断点调试生产的java服务的详细流程

idea断点调试生产的java服务的详细流程

原创
作者头像
用户11976114
发布2026-01-13 20:02:03
发布2026-01-13 20:02:03
2580
举报

即使在云端有很多日志可以看,但是有些场景,还是断点更能清晰知道是哪些变量出了问题,毕竟不是所有变量都会打印到日志里,因此,idea在线调试远程服务,是非常必要的。

最简的调试方法:

一、首先要在生产启动java的命令里,追加调试参数

启动参数添加如下的代码:

代码语言:java
复制
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

启动Java的命令应该是:

代码语言:java
复制
java -jar -agentlib:jdwp=transport=dt_socket。。。。。后面省略

二、在Idea配置远程调试

在idea点击Run菜单,点击Edit Configurations

会出现下图的界面,点击左边这个➕号,创建一个Remote Jvm Debug调试类型的调试项。选择了类型后,出现这个界面:

这里host需要填服务端的地址(假如生产端实在云端,直接连接服务端的地址不安全,后面会介绍如何使用ssh隧道工具,将远程端口映射到本地,这里先忽略安全问题,先理解设置方法)

配置完调试地址后,就可以看到有下图这个调试项了,选中这个调试项,再点击debug图标,就可以启动调试了:

启动完调试后,将断点放在项目代码中,就可以启动断点了。当生产触发到你断点代码的服务的时候,本地的断点就会唤醒,是不是很神奇呢?

这里配置远程调试已经完成了,但是还不算完全完成,因为前面说过了,直接暴露生产端的调试端口到外网,是非常不安全的,因此,这里我们还需要做个ssh隧道,使用ssh跳板机做端口映射,通过ssh跳板机,将服务的端口映射到本机计算法。

使用yunedit-ssh配置ssh隧道

ssh隧道可以使用yunedit-ssh这个工具来做,因为yunedit-ssh支持windows和mac两种系统。下载安装yunedit-ssh

打开yunedit-ssh后,配置一个映射:

点击新建ssh连接,看到如下界面

然后启用这个映射即可,如下图:

现在可以了,连接本地localhost的5005, 即等于连接服务端的5005端口了。

回到刚才的步骤,在idea配置的host里填写localhost或127.0.0.1即可通过ssh隧道安全连接

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、首先要在生产启动java的命令里,追加调试参数
  • 二、在Idea配置远程调试
  • 使用yunedit-ssh配置ssh隧道
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档