远程DEBUG服务端的jar或war包项目

1 篇文章 0 订阅
1 篇文章 0 订阅

前言:

        前天在对系统升级的时候,有客户反馈系统出问题了,登录不上了,这可不是一件小事,虽然用户量不大但肯定影响客户办公。当时第一个想法就是肯定是服务挂了,三下五除二就把服务重启了一遍,可用了一段时间后系统又出现了这种问题,为了不影响系统正常运行果断将系统回退到上一个版本。本想着在本地测试一下,可是始终不能复现bug一切正常,呃......。好家伙那就在生产环境下打印日志吧。乖乖嘞!跟踪半天日志信息还是不能分析到具体出现问题的原因。跟之前带我的师傅打电话,把问题出现的情况给他简述了一下,他推荐我远程DEBUG。那么问题来了远程debug是个啥?之前做项目的时候也没这样干过,也不清楚完全不会呀。百度吧,百度能够填补我的无知。经过几篇文章的洗礼我貌似懂了哈哈哈,赶紧着手实践...

 着手实践:
1、package项目前先检查一下我们的项目是否支持远程debug

        在项目的pom.xml文件里的plugin添加<jvmArguments>的参数配置信息

<plugin>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-maven-plugin</artifactId>
   <configuration>
       <jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n</jvmArguments>
   </configuration>
</plugin>

        添加该参数后才支持软件包在服务器上进行debug。

        参数的具体信息如下:

-Xdebug 是通知JVM 工作在 DEBUG模式下;
-Xrunjdwp 通知 JVM 使用 (Java debug wire protocol) 运行调试环境。该参数同时包含了一系列的调试选项;
transport 指定了调试数据的传送方式, dt_socket 是指用 SOCKET 模式,另有 dt_shmem 指用共享内存方式,其中,dt_shmem 只适用于 Windows 平台;
address 调试服务器的端口号,客户端用来连接服务器的端口号;
server=y/n VM 是否需要作为调试服务器执行;
suspend=y/n 是否在调试客户端建立连接之后启动 VM

2、其次打包项目(这里打包的项目打的是jar包)

        一般情况下直接选择package前边的clean等步骤会依次执行,但为了保险起见我们还是要先进行clean一下,然后再build构建一下再进行package打包(防止一些缓存没有清掉导致的项目启动后异常)。生成的jar包是在target目录下的哦,把它复制出来放到你要放的地方(懂得都懂,不懂的就问)。

        

3、在本机上进行调试jar包

        一般我们执行jar包命令都是 java -jar xxx.jar

        这里不一样这里的执行命令是:

java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n -jar xxx.jar

        中间红色部分参数与pom.xml文件里的jvmArguments的参数是一致的。

jar包启动后你会看到这样一个提示:

4、将项目部署到远程服务器上复现bug。

5、本地idea远程debug服务器上的jar包注意:服务器上的jar包要与本地项目代码保持一致

         要远程调试就要配置远程调试启动项

   1》选择配置

2》 在添加里选择Remote JVM Debug

 3》配置远程服务器的地址和端口号

 4》启动RemoteDebug,打上断点,前端发送一个请求,就可以进行debug了

6、 对于eclipse远程debug(本人电脑暂未安装,就用语言简单描述一下)

        同样要求对项目中的代码必须和jar包保持一致,eclipse步骤如下

1》右击项目——>Debug As——>DebugConfigurations

2》找到Remote Java Application 右击 new

3》配置"host"和”port“

4》运行

7、如果是调试war包的话我们需要修改tomcat的startup.bat文件

1》需要先将项目部署到tomcat目录下的webapp目录下

2》修改Tomcat/bin/startup.bat文件

# vim startup.bat

#编辑配置文件信息,在最前面加上如下代码:

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

 其他步骤如上即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值