0
点赞
收藏
分享

微信扫一扫

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

松鼠树屋 2022-01-09 阅读 82
javaspring

目录

一、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模式

 五、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的执行。
     
举报

相关推荐

0 条评论