设置基本步骤:
1,将本地代码打包成jar文件,传到远程服务器.
2,在服务器以远程debug模式启动jar,并指定远程debug连接的端口.用如下命令
1) java -agentlib:jdwp=transport=dt_socket,address=端口号,server=y,suspend=y -jar 文件名.jar
2) java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=端口号 -jar 文件名.jar
看到如下:
看到服务器已经监听指定的debug端口了.
3,在本地idea中配置:
配置好,在本地debug启动,到此就可以愉快的进行debug了.
java命令参数解析:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar
-Xdebug:通知JVM工作在debug模式下;
-Xrunjdwp:通知JVM使用(java debug wire protocol)来运行调试环境;
transport:监听Socket端口连接方式(也可以dt_shmem共享内存方式,但限于windows机器,并且服务提供端和调试端只能位于同一台机);
server:server=y表示当前是调试服务端,=n表示当前是调试客户端;
suspend:suspend=n表示启动时不中断,一般用于设置主动连接,不管有没有连接到监听的端口都会启动;suspend=y表示启动时就进入调试模式,一般用于被动连接,只有连接到监听的端口才开始启动;
说明:如果要在启动阶段就开始debug则设置suspend=y,如果在jar包启动成功后才开始debug则设置suspend=n。