如何使用idea远程debug调试代码详解

本文介绍如何使用IntelliJ IDEA进行远程调试,包括搭建Spring Boot工程、IDEA远程调试配置步骤和服务端开启debug模式的方法。

目录

一、idea远程debug原理

二、创建一个springboot工程

三、IDEA远程调试配置

 四、服务端开始debug模式

 五、idea启动远程调用

六、启动远程调试参数解释 


一、idea远程debug原理

远程调试,需要调试服务器上的程序时,远程调试就显得非常有用。JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协议联系,本地的Java文件在远程JVM建立联系和通信。

  • 本地代码监听远程调试端口,在在本地需要调试代码打下断点。
  • 访问远程服务。
  • 远程服务触发idea编辑器本地代码,本地代码进入debug状态。
  • 在本地调试代码,解决代码bug。

简单流程如下:

二、创建一个springboot工程

之前已经介绍过很多创建springboot工程的文章了,可以参考这篇文章:如何创建一个springboot工程

三、IDEA远程调试配置

1,打开idea,顶部菜单栏选择Run-> Edit Configurations,进入下图的运行/调试配置界面。

2,点击左上角'+'号,选择Remote。分别填写右侧三个红框中的参数:Name,Host(想要指定的远程调试端口)。

3,点击界面右下角应用按钮即可。

 四、服务端开始debug模式

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar spring-boot-mybatis-plus-0.0.1-SNAPSHOT.jar

 五、idea启动远程调用

程序上打上断点,点击运行。调用服务器端运行的系统程序,系统自动进入断点。

六、启动远程调试参数解释 

  1. -Xdebug:通知JVM工作在调试模式下
  2. -Xrunjdwp:通知JVM使用(java debug wire protocol)来运行调试环境。参数同时有一系列的调试选项
  • transport:指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另外dt_shmem指用共享内存方式,其中dt_shmem只适用于窗口平台.server  参数是指是否支持在服务器模式的虚拟机中。
  • server参数是指是否支持在server模式的VM中。
  • onthrow:指明当产生该类型的异常时,JVM就会中断下来,进行调式该参数任选。
  • launch指明,当JVM被中断下来时,执行的可执行程序。该参数可选。
  • suspend指明,是否在调试客户端建立起来后,再执行JVM。
  • onuncaught(= y或n)指明出现未捕获的异常后,是否中断JVM的执行。
     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

境里婆娑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值