态度决定一切

0%

java远程调试

java 远程调试

调试对于排查 java 各种异常问题非常重要,相信本地调试大家都很熟悉,今天分享一下如何开启远程调试。

  1. 如果需要编译.java文件执行命令javac,生成.class文件件

    1
    javac SynchronizedStudy.java
  2. 执行编译过后的.class文件

    • 如果当前类有包路径到包的根路径下执行

      1
      java com.xxx.xx.SynchronizedStudy
    • 如果当前类没有包直接执行

      1
      java SynchronizedStudy
  1. 如果要启动远程 debug 端口

    • 如果执行 java 文件

      1
      java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=5005 com.yefan.study.SynchronizedStudy
    • 如果执行 jar 文件

      1
      java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=5005 -jar SynchronizedStudy.jar

启动成功会显示如下

Listening for transport dt_socket at address: 5005

### 远程调试命令参数说明

**-Xdebug:** 启用调试特性。

**-Xrunjdwp:** 在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。

**transport:** 这里通常使用套接字传输。

**server:** 如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。

**address:** 这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。

**suspend:**如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。如果值为 n,没有调试器连接则继续执行

IDEA远程调试配置