Java 远程调试

Java远程调试首先需要配置远程java程序的启动参数,开启相应的调试端口。


对于一般的application程序,在启动命令行中加入下面参数即可:

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005


对于tomcat启动的程序,需要在catalina.sh/bat 中加入

SET CATALINA_OPTS=-server -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005


一些常用参数含义:

-XDebug 启用调试。
-Xrunjdwp 加载JDWP的JPDA参考执行实例。
transport 用于在调试程序和 VM 使用的进程之间通讯。
dt_socket 套接字传输。
dt_shmem 共享内存传输,仅限于 Windows。
server=y/n VM 是否需要作为调试服务器执行。
address=3999 调试服务器的端口号,客户端用来连接服务器的端口号。
suspend=y/n 是否在调试客户端建立连接之后启动 VM 。

-Xnoagent 禁用默认sun.tools.debug调试器。
-Djava.compiler=NONE 禁止 JIT 编译器的加载。


配置完启动参数后,重启远程java程序,就可以在本地调试了。

下面图示如何在Intellij IDEA中进行远程调试:

1. 打开配置页

133752686.png


2. 新增远程调试配置

133752278.png


3. 设置远程调试ip和端口

133753823.png


4. 源码中设置断点

133753676.png


你可能感兴趣的:(java,远程调试,intellij)