1 在JVM的启动参数中加入如下配置,即可开启java的远程调试(可以在jetty路径的boot.ini的JVM_ARGS中进行设置)
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8410
参数说明:
1.1 其中 address为远程调试的端口号
1.2 -Xrunjdwp 使用jdwp(Java Debug Wire Protocol)进行调试
1.3 transport=dt_socket 使用socket方式进行连接,还可以使用其他通信方式如:dt_shmem 共享内存
1.4 suspend=n JVM监听address端口传来的信号时不挂起JVM中运行的进程
2 IDE设置
eclipse设置
通过Debug configuration -> remote java application 设置connect tag的project为要调试的工程 Host为联调主机ip Port为联调主机的端口,source tag中添加你的代码路径,调试代码时,选择你新建的remote debug配置 点击debug,设置断点之后,即可像本地调试一样调试远程code
idea设置
点击右上角Edit Configurations->左上角+ add new configuration->remote Host设置为服务所在的主机的IP Port设置为address的端口(本例中为8410)即可
3 注意
若非必要,不要在生产环境启用远程调试,java的远程调试模式可能导致严重的漏洞,使得JVM崩溃