idea远程测试环境进行debug调试

前言:
 有时候我们定位测试环境的问题,或者线上的问题,不好定位,由于之前写代码日志打的少了,或者代码复杂,并且异常描述也不是很详细,直接看代码不好定位具体问题在哪,这个时候就需要进行代码调试了,
 但是,你本地调试代码总是有缺陷的,例如本地的数据和测试环境或者线上环境的数据总有出入,若是导数据过来,就很麻烦。
 所以,就非常有必要直接连远程的代码,进行debug调试;
 因此远程debug应运而生;

idea远程debug操作(测试环境,线上环境)

1:首先修改jar包启动参数

我们项目是用docker-compose.yml来整合发布项目的,因此我这里的例子都是在这个文件里面修改的,其实和直接启动jar大同小异;

docker-compose.yml文件:

version: '3'
services:

  pulsar_simulator:
    image: openjdk:8-jdk
    #image: openjdk:8-jdk:8-jdk
    container_name: spring-cloud-test
    network_mode: bridge
    restart: always
    tty: true
    ports:
      - 2011:2011
      - 2012:5555
    extra_hosts:
      - "atong.com:XXXX"  
    volumes:
      - /data/workspace/spring-cloud-test/:/atong
      - /etc/localtime:/etc/localtim
    working_dir: /hairou
    #command: java -Duser.timezone=GMT+08 -jar application.jar
    command: java -Duser.timezone=GMT+08 -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5555 -jar application.jar

简单说明:
这里我们服务(spring-cloud-test)的启动端口是2011,
若是需要远程debug,修改原有的启动命令,增加:

-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5555

表示以debug模式启动项目;
 5555是设置的远程debug端口;

因为是运行在docker中,所以还要映射端口:
 所以这里我们把5555,映射到宿主机的2021端口;
 这样,我就可以用2012来远程debug了;

2:配置idea进行远程debug

2.1:在Idea中创建Remote
在这里插入图片描述
配置完之后,就可以远程了

点击idea debug 按钮,
在这里插入图片描述

控制台打印:

Connected to the target VM, address: 'XXXXX:2012', transport: 'socket'

表示远程连接成功。

这个时候我们就可以在需要调试的程序的代码块,打断点,
然后调用服务器上的程序接口,就会自动进入断点,可以debug看代码了;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值