Java项目通过IDEA远程debug调试

前言

在我们真实项目开发过程中,又是经常会发现一种问题,就是我们在开发环境功能是正常的,在测试环境可能也不太容易发现问题。

结果到了生产环境,由于数据量大,且数据类型变多后,就产生了一些比较难复现的问题。

当这类问题产生的时候,我们通常排查的思路是首先检查一下代码,看是否代码确认存在明显的问题。

如果通过查看代码看不出什么问题,我们可能会通过增加日志,在每一句代码的结果输出执行结果,或者打上标识日志。然后把增加了日志的代码再打包然后上传的生产环境去运行,然后等程序再次发生错误时,根据日志定位产生问题的代码。

通过打日志操作起来比较麻烦,通常等排查完问题后,还需要将日志删掉,然后再去将修改后的代码打包上传到生产环境。

所以除了这些方式去排查问题,还有什么其他的方式可以排查问题吗?

正文

我们今天给大家介绍一种问题排查方式:IDEA远程debug调试。

首先我们先在idea中创建一个远程debug服务的配置

在这里插入图片描述

在这里插入图片描述

然后将Command line arguments for remote JVM:区域生成带jvm参数复制一下,其中端口port可以自己定义。

然后将这段jvm参数添加到项目服务启动的参数中。

我们的项目通常有两种部署方式:

一种是springboot项目直接打成jar包去部署启动

一种是将项目打成war包然后部署到web服务器上,如tomcat。

这两种方式我们都演示一下。

1、打成jar包直接部署启动

我们在启动参数中添加上面复制的内容,如下:

java -jar transfer-web-1.0-SNAPSHOT.jar   -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

然后等待服务启动成功后,我们再启动idea中的监听服务

在这里插入图片描述

然后此时我们就可以去对应的代码打断点,然后去操作项目环境对应的功能,等功能走到断点处,就会被拦截到。

2、war包部署到tomcat

我们需要在tomcat服务器的启动参数中添加上面复制的监听的参数。

对于linux环境下的tomcat,我们先找到bin目录下的catalina.sh,然后修改文件中的这行配置

CATALINA_OPTS="$CATALINA_OPTS"

将上面复制的监听的参数,添加到这个配置中,添加完后如下:

CATALINA_OPTS="$CATALINA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

然后就可以重启tomcat了,然后我们再启动idea中的监听服务。

然后此时我们就可以去对应的代码打断点,然后去操作项目环境对应的功能,等功能走到断点处,就会被拦截到。

们再启动idea中的监听服务。

然后此时我们就可以去对应的代码打断点,然后去操作项目环境对应的功能,等功能走到断点处,就会被拦截到。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值