1、linux服务器启动springboot 项目jar包时使用如下指令:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=18888 -Xmx2048M -jar xxx.jar
其中
address=18888为debug模式监听端口
-Xmx2048M 视实际情况配置
xxx.jar 业务jar包名称;
-Xdebug
启用调试特性
-Xrunjdwp
启用JDWP实现,它包含若干子选项:
transport=dt_socket
JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
address=XXXX
JVM在默认在8000端口上监听请求,是指服务器上的。
server=y
y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。
suspend=y
y表示启动的JVM会暂停等待,直到调试器连接上。
suspend=y这个选项很重要。如果你想从Tomcat启动的一开始就进行调试,那么就必须设置suspend=y。
jar 命令开启远程调试
博主用的是XShell启动jar包,例如 原先在XShell上启动jar的命令是:java -jar XXX.jar,现在需要修改为:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=XXXX -jar XXX.jar
如果出现Connection refused,则需要检查端口的使用情况,检测是否被占用以及能否被外部访问
2、ecplise下监听端口:
进入Ecplise -- > Run -- > Debug Configurations,双击右侧菜单“Remote Java Application”或右击菜单新建configuration;