Intellij IDEA远程debug教程实战和要点总结

Intellij IDEA远程debug教程实战和要点总结远程调试 特别是当你在本地开发的时候 你需要调试服务器上的程序时 远程调试就显得非常有用 JAVA 支持调试功能 本身提供了一个简单的调试工具 JDB 支持设置断点及线程级的调试同时 不同的 JVM 通过接口的协议联系 本地的 Java 文件在远程 JVM 建立联系和通信 此篇是 IntellijIDEA 远程调试的教程汇总和原理解释 知其然而又知其所以然 本机 IntellijID

   远程调试,特别是当你在本地开发的时候,你需要调试服务器上的程序时,远程调试就显得非常有用。

  JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协议联系,本地的Java文件在远程JVM建立联系和通信。此篇是Intellij IDEA远程调试的教程汇总和原理解释,知其然而又知其所以然。

本机Intellij IDEA远程调试配置

Intellij IDEA远程debug教程实战和要点总结

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

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

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

二,服务器端开启调试模式,增加JVM启动参数,以支持远程调试

  服务器端的catalina.sh文件,在Tomcat的安装目录下,复制到本地,进行编辑,在第一行添加参数配置如下,完成后粘贴回去。

Intellij IDEA远程debug教程实战和要点总结

文本:

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8089"

  

配置添加之后,重启tomcat即可生效(shutdown.sh /startup.sh)到此,开始远程调试。

, Intellij IDEA 启动远程调用

最后,打开IDEA,程序上打上断点,运行模式选远程,点击运行。调用服务器端运行的系统程序,系统自动进入断点

Intellij IDEA远程debug教程实战和要点总结

Intellij IDEA远程debug教程实战和要点总结

4,为什么可以进行远程调试,背后的原理是什么?

   首先,了解下的Java程序的执行过程- 分为以下几个步骤:Java的文件 – – 编译生成的类文件(class文件) – – JVM加载类文件 – – JVM运行类字节码文件 – – JVM翻译器翻译成各个机器认识的不同的机器码。

远程调试原理

   众所周知,Java 程序是运行在Java 虚拟机(JVM )上的,具有良好跨平台性,是因为Java程序统一以字节码的形式在JVM中运行,不同平台的虚拟机都统一使用这种相同的程序存储格式。因为都是类字节码文件,只要本地代码和远程服务器上的类文件相同,两个JVM通过调试协议进行通信(例如通过插座在同一个端口进行通信),另外需要注意的时,被调试的服务器需要开启调试模式,服务器端的代码和本地代码必须保持一致,则会造成断点无法进入的问题。

Java的调试器架构

Intellij IDEA远程debug教程实战和要点总结

   这个架构其实质还是JVM,只要确保本地的Java的源代码与目标应用程序一致,本地的Java的源码就可以用插座连接到远端的JVM,进而执行调试。因此,在这种插座连接模式(下文介绍)下,本地只需要有源码,本地的Java的应用程序根本不用启动。

传输方式,默认为Socket ;

套接字:MACOS,Linux的系统使用此种传输方式;

共享内存:WINDOWS系统使用此种传输方式。

调试模式,默认为Attach ;

Attach :此种模式下,调试服务端(被调试远程运行的机器)启动一个端口等待我们(调试客户端)去连接;

Socket :此种模式下,是我们(调试客户端)去监听一个端口,当调试服务端准备好了,就会进行连接。

配置属性说明补充

1.idea的的服务的开启调试模式设置详细说明,

Intellij IDEA远程debug教程实战和要点总结

文本:

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8089"

2.各参数解释:

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

3.IDEA设置远程属性说明,以下为谷歌翻译

Intellij IDEA远程debug教程实战和要点总结

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199807.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 下午12:10
下一篇 2026年3月20日 下午12:10


相关推荐

  • pycharm2022.01.13激活密钥【2022免费激活】2022.01.20

    (pycharm2022.01.13激活密钥)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html0HKLM1UCCY-eyJsa…

    2022年3月31日
    161
  • idea中添加tomcat_怎么查看Tomcat位置

    idea中添加tomcat_怎么查看Tomcat位置一、为IDEA添加Tomcat:添加全局的Tomcat:File–>Setting–>Build,Execution,Deployment–>ApplicationServers–>+–>TomcatServer–>选择要添加的服务器–>Ok为单个项目添加:AddConfiguration…[Run–>EditConfiguration…]–>+–>TomcatSer

    2022年10月18日
    6
  • 使用新版IDEA创建JavaWeb项目详细图文教程

    使用新版IDEA创建JavaWeb项目详细图文教程三月中下旬了 答辩的日子也越来越近了 之前忙于考研的童鞋 之前忙着玩的童鞋 之前忘记做毕业设计的童鞋都开始忙碌起来了 奈何 一下手就慌乱 以至于在接近别人项目时被开发环境挡住了前进的步伐 其中几个童鞋被新版 IDEA 创建 JavaWeb 项目给难住了 在此 以示例形式详细介绍 IDEA 创建 JavaWeb 项目的过程及其主要步骤

    2026年3月17日
    15
  • idea卸载教程

    idea卸载教程idea 卸载教程

    2026年3月19日
    2
  • idea2021.9激活码-激活码分享

    (idea2021.9激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
    77
  • pycahrm激活码【注册码】

    pycahrm激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号