IDEA中设置远程调试服务器上的程序

0. 前置说明

        想象这样一个场景:

  • 自己在本地电脑上把某一个功能开发完成并自测、和前端联调通过后,部署到测试环境了;
  • 测试人员访问测试环境中的项目进行功能测试;
  • 测试人员发现了一个bug,并且告知了你;
  • 此时你要怎么做呢?
    • 以Debug方式启动自己本地的项目;
    • 使用postman进行本地debug调试,看看是什么问题导致了测试环境的bug;
    • 修改本地代码,重新打包,重新部署到测试环境;
    • 测试人员进行验证。
    • 如果还是有问题,循环上面的步骤
  • 但是如果我可以直接远程调试服务器上的程序呢?
    • 在自己本地电脑上打断点;
    • 请求测试服务器上的代码;
    • 断点进入本地电脑上,就可以直接调试程序,排查bug;
    • 这样做的好处是,不用自己使用postman造模拟数据进行本地debug,而是直接使用测试环境的数据进行排查。

1.maven 生成可直接运行的jar包

  1. 准备可直接运行的jar包(即:SpringBoot项目,打包后可通过java -jar 命令直接运行的jar包),如下图:

        2. 把这两个jar包上传到服务器上;


2. 使用java -jar命令运行jar包

  1. 在服务器上使用如下命令运行上述两个jar包
nohup java -server -Xms256m -Xmx256m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar demo02-user-auth-center-1.0-SNAPSHOT.jar>demo02.log 2>&1 &
nohup java -server -Xms256m -Xmx256m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006 -jar demo06-mysql-data-provider-1.0-SNAPSHOT.jar>demo06.log 2>&1 &


3. IDEA中的配置

  1. 按照如下进行配置
  2.  
  3.  
  4. 访问测试环境,发起请求,如下图:
  5. 进入本地断点,如下图:

4. 注意事项

  1. 远程调试从技术上讲,就是在本机与远程建立scoket通讯,所以端口不要冲突,而且本机要允许访问远程端口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值