首页 > 编程知识 正文

idea远程调试代码,idea远程打断点

时间:2023-05-03 14:10:40 阅读:130141 作者:275

远程调试非常有用,尤其是在本地开发psdsb的情况下,如果需要调试服务器上的程序。

JAVA支持调试功能,它本身提供简单的调试工具JDB,支持断点设置和线程级调试,同时不同的JVM通过接口的协议连接,本地JAVA文件这篇是Intellij IDEA远程调试教程的总结和原理说明,我知道,但也知道它的原因。

本机Intellij IDEA远程调试配置

1 )打开Inteliij IDEA,从顶部菜单栏中选择运行编辑配置,进入下图的运行/调试配置屏幕。

2 .点击左上方的“”,选择Remote。 在右侧的三个红色框中分别输入参数“Name,Host”。

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

第二,在服务器端打开调试模式,添加JVM启动参数以支持服务器端的catalina.sh文件,在Tomcat安装目录下,本地复制、编辑,然后在第一行中填充爸爸

文本:

catalina _ opts='-xdebug-xrunjdwp : transport=dt _ socket,server=y,suspend=n,address=8089 '

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

三. Intellij IDEA发起远程呼叫

最后,打开IDEA,在程序中包含断点,使运行模式远程,然后单击运行。 调用在服务器端运行的系统程序时,系统会自动进入断点

4、为什么可以远程调试,其背后的原理是什么? 首先,理解以下Java程序的执行过程。 分为以下步骤。 Java的文件---编译生成的类文件(class文件) JVM加载类文件(JVM执行类字节码文件) JVM转换器翻译成各机器识别的不同机器码。

远程调试原理众所周知,Java程序在Java虚拟机(JVM )上运行,具有很好的跨平台性。 这是因为Java程序在JVM中作为字节码统一运行,不同平台的虚拟机统一使用此相同的程序存储格式。 由于这两个文件都是类字节码文件,因此如果本地代码和远程服务器上的类文件相同,则两个JVM将通过调试协议进行通信。 例如,通过套接字在同一端口进行通信。 另外,如果需要注意,调试对象的服务器必须打开调试模式,如果服务器端的代码和本地代码不匹配,就会出现断点无法进入的问题。

代码Java /代码调试器体系结构

该体系结构本质上是JVM,只要使本地Java的源代码与目标APP应用程序相匹配,就可以通过套接字将本地Java的源代码连接到远程JVM并执行调试。 在该套接字连接模式(稍后描述)中,本地只要具有源代码,就可以不启动本地Java的APP应用。

传输方式,默认为套接字;

套接字: MACOS、Linux系统使用该传输方式;

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

调试模式,默认值为Attach;

Attach (在此模式下为调试服务端)调试并远程运行的计算机)启动端口,等待我们(调试客户端)连接。

套接字:在此模式下,我们(调试客户端)监听端口,并在调试服务端准备好时进行连接。

配置属性说明补充1.idea的服务的开放调试模式设定详细说明、

文本:

catalina _ opts='-xdebug-xrunjdwp :传输=dt _ socket,server=y,suspend=n,address=8089' 2.每个参数指定了调试数据的传输方法。 dt_socket是指套接字模式,dt_shmem是指共享内存方式。 其中,dt_shmem表示服务器模式的虚拟机是否支持窗口平台. server参数。 onthrow :表示如果发生此类型的异常,JVM将中断,并且可以任意调整此参数。 代码发行/代码:显示JVM中断时运行的可执行程序。 此参数是可选的代码片段/代码。 指示是否在建立调试客户端后运行JVM。 onuncaught(=y或n )指示出现未捕获的异常后是否中断JVM的运行。 3.IDEA设置远程属性的说明。 以下是谷歌翻译

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。