首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >idea调试测试服务器/线上服务器代码的方法

idea调试测试服务器/线上服务器代码的方法

原创
作者头像
用户11976114
发布2026-01-22 19:28:22
发布2026-01-22 19:28:22
1440
举报

“在我本地是没问题的”,这个是程序员经常说的一句话,在本地测试怎么都正常,但是在服务器跑起来偶尔出问题了,这种问题,一般是服务端的数据或者环境不同引起的,需要在服务端测试。

而服务端又没有安装idea,如何测试呢?java的程序员看过来了,java提供了idea的调试线上代码的调试方案。

方案如下:

(1)修改启动命令

我们需要在jar的启动参数里,追加启动参数,在java命令里,添加下面的代码:

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

上面命令的意思是启动一个调试端口,端口是5005

(2)使用ssh隧道做安全的端口映射

这里是安全上最重要的一步,很多教程只告诉你如何调试,不告诉你如何做安全,是不行的。

直接将线上的调试端口映射出来,是不安全的,因为没有任何的密码保护。因此,不能直接在云端将内网应用服务器的5005端口映射出来,需要使用ssh隧道来实现端口映射。

这里可以使用yunedit-ssh客户端来做端口映射,yunedit-ssh是一个ssh客户端工具,有ssh隧道功能,还有scp上传和ssh命令行功能。

ssh隧道的原理是通过ssh跳板机,通过ssh协议登录ssh跳板机,然后ssh跳板机将云端内网的端口映射到客户端本地。

先下载安装yunedit-ssh,安装很简单,直接双击无脑安装即可。

下载完后,如下图,创建一个ssh连接,并且为这个ssh连接添加映射规则,如下例图:

这个规则的意思是,登录ssh服务器(跳板机),跳板机负责将上面内网IP为10.246.10.11的内网服务器的5005端口,映射到本地的5005端口上。这样,用户就需要ssh密码才能映射到服务端的端口。

这个时候,启动上图这个映射开关,我们连接本地的5005端口,即可连接上云端10.246.10.11的5005端口。

(3)在idea中,配置调试参数

在idea找到Run菜单,再点击Edit Configurations

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

由于端口已经映射到本地了,连接localhost下的5005即可调试服务端的程序了。

(4)在idea中启动调试

点击这个按钮,即可启动调试

记得,本地的代码分支必须跟服务端的版本一致,记得切换到相同版本的代码里调试。

这个时候,在相应的代码打断点,当服务执行到响应的代码的时候,自动就会进入断点。

好了,完整的调试方法说完了,务必要启动ssh隧道调试哦,安全是第一位,请收纳。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (1)修改启动命令
  • (2)使用ssh隧道做安全的端口映射
  • (3)在idea中,配置调试参数
  • (4)在idea中启动调试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档