第一部分: springboot远程调试
一、准备条件。
1、springboot程序以debug方式启动。
2、配置eclipse remote debug参数。
二、debug方式启动java application
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9011 -Djava.net.preferIPv4Stack=true -jar xxxx1.0.jar
其中address=9011为端口号。
suspend=n表示不等待调试程序直接启动。=y表示等待eclipse调试接入后才启动。
三、配置eclipse remote debug参数。
在弹出的图中找到“Remote Java Application”,并右键“new”,然后按照如下配置。
第二部分: tomcat远程调试
一. 打开tomcat的bin目录如下,需要修改的文件有catalina.bat与startup.bat
二. 在catalina.bat中添加 set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8080
三. 在startup.bat中添加jpda
四. 开启tomcat,会出现一句话,表明已经在监听服务器地址下的端口号了
五. 打开eclipse,右键项目debug as——debug configurations
六. 双击remote java application,配置好服务器上的IP及端口号,点击Debug运行
七. 服务器上会自动运行war包里面的内容了,最后在eclipse打上断点就可以debug了。
第三部分: 远程调试参数解读
eclipse远程调试两种模式:
一、服务端监听
(1)服务器端需执行程序前加参数 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
说明:server=y 是指目标应用程序作为服务监听将要连接的远程调试器(常用);
suspend=y 是指目标VM将暂停,直到调试器应用程序进行连接(若需要调试启动错误,很有用);
suspend=n 是指目标VM不暂停;
address=8000 监听端口。
(2)运行服务端程序,程序将暂停
(3)eclipse ==> Debug Configurations ==> Remote Java Application 新建测试工程
(4)选择工程 ==> 模式 Socket Attach ==> 调试服务器IP ==> 调试端口(这里假设8000)
(5)运行debug
二、调试端监听(不常用)
(1)eclipse ==> Debug Configurations ==> Remote Java Application 新建测试工程
(2)选择工程 ==> 模式 Socket Listen ==> 调试监听端口(这里假设8000) ==> Allow termination of remote VM 打勾
(3)运行debug,程序将暂停,左上显示 Waiting for vm to connect at port 8000...
(4)服务器端需执行程序前加参数 -Xdebug -Xrunjdwp:transport=dt_socket,address=172.16.7.34:8000
说明:address=172.16.7.34:8000 发送连接的地址和端口。
(5)运行服务端程序
~以上资料来源于互联网并稍作整理~