eclipse远程调试

配置参数

程序运行在windows下,编辑catalina.bat文件,添加:

set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

程序运行在linux下,编辑catalina.sh文件,添加:

CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"

参数说明

  • server: 如果值为 y,目标应用程序监听将要连接的调试器应用程序(应用程序为服务器),否则,它将连接到特定地址上的调试器应用程序(eclipse上的项目为服务器)。个人理解:当值为y时,eclipse调试应用程序时,修改代码不能同步到应用程序上,也就是说,你只能看结果;当值为n时,修改eclipse上项目的代码,应用程序也会跟着改变结果(只改变运行结果,调试结束后,应用程序包代码并没有改变)。
  • address: 这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。
  • suspend: 如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。

eclipse 设置

配置参数,打开debug configurations

server=y,address=8000
这里写图片描述

server=n,address=ip:port(例如:address=192.168.68.2:8000)
这里写图片描述

开始调试之后,就跟eclipse本地调试差不多了,不过当server=y时,在eclipse项目里修改代码无法改变项目运行效果,而server=n则可以。

PS:当无法启动时,有可能是已经启动了一个连接,点击图中按钮断开连接再开启调试就可以了。

原文地址:https://www.cnblogs.com/zeling/p/8494831.html