通过隧道连接远程jar包,进行断点调试

调试步骤

1、本地打开一个程序

一般是和服务器上一样的程序,其实不是同一个程序也是可以的,这位这个隧道调试的原理,他是按行找的,你在本地断点哪一行,就相当于在服务器断点在哪一行了,不过还是建议用同一个程序,这样才知道断点的哪行代码是什么,方便调试

2、然后添加一个隧道,配置如下图所示

通过隧道连接远程jar包,进行断点调试_第1张图片

3、赋值Command line arguments for remote JVM 中的哪行配置代码,服务器部署启动的时候加上这行就可以了

例如:

java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10008 integral.jar

integral.jar这个就是jar包的名称

4、接着本地debug就相当于在debug服务器上所发布的程序了,之所以能对应上,是配置的时候,配置的Host就是服务器的IP地址。

产生的现象

这种情况会阻塞生产代码,也就是你在断点调式某个接口的时候,这个接口将不会被成功访问,也会断点到你所断点的地方

通过这个方法,也验证了一个问题,就是一个普通的SpringBoot项目,发布后,被用户访问,实质上是多线程的,即使你的项目里没有使用多线程,但他的运行机制也是多线程的。

你可能感兴趣的:(项目)