原创

spring boot 远程调试【Myeclipse/Eclipse】

  • 在开发中我们可能会遇到很多错误,但是这些错误又是肉眼直接看不出的,所以我就需要去调试应用,但有时候我们的开发环境是正常的,但是到了线上就错误百出,因此记录一下我的远程调试过程。

springboot项目通常会打成jar包直接在服务器上运行,运行的命令如下;

java -jar xxx.jar

但是这种方法关闭了命令窗口,服务就会关闭,因此我们要使用下面这个命令

nohup java -jar xxx.jar

这种方式即使关闭了命令窗口Linux系统也会让jar包在后台运行,此外如果想要结束这个服务器,我们可以使用以下命令:

ps aux| grep java

查看系统的进程
file
其中30243就是占用的端口,我们可以通过一下命令来结束

kill -9 30243

这样就结束这个应用。好了以上内容基本算是扯犊子,下面开始正题
首先你得在pom文件中加入以下代码,这里的实际端口号就是你springboot应用运行的端口号

 <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>1.1.12.RELEASE</version>
        <configuration>
          <jvmArguments>
            -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=实际端口号
          </jvmArguments>
        </configuration> 
      </plugin>

在远程调试的时候我们就不能以上面的方式启动应用了要使用下面的命令

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=实际端口号  -jar xxx.jar

执行完命令后就会卡在那里不动了,我们需要打开发工具。
右键点击项目,如下图所示:
file
点击后如下界面
file
注意:
name属性随便写,就是你的应用名称而已,
host为远程服务器ip端口,你在上面设置的端口【实际端口号】
然后点bebug就可以了,这个时候服务就会动了,你有断点的话,就能在那里进入调试。
如有其它问题请在下面留言,谢谢。

正文到此结束(点击广告是对作者最大的支持)