酒泉网站建设有哪些,网站子站建设自查报告,办公司流程和费用,广西桂林天气预报15天查询前言
在我们真实项目开发过程中#xff0c;又是经常会发现一种问题#xff0c;就是我们在开发环境功能是正常的#xff0c;在测试环境可能也不太容易发现问题。
结果到了生产环境#xff0c;由于数据量大#xff0c;且数据类型变多后#xff0c;就产生了一些比较难复现…前言
在我们真实项目开发过程中又是经常会发现一种问题就是我们在开发环境功能是正常的在测试环境可能也不太容易发现问题。
结果到了生产环境由于数据量大且数据类型变多后就产生了一些比较难复现的问题。
当这类问题产生的时候我们通常排查的思路是首先检查一下代码看是否代码确认存在明显的问题。
如果通过查看代码看不出什么问题我们可能会通过增加日志在每一句代码的结果输出执行结果或者打上标识日志。然后把增加了日志的代码再打包然后上传的生产环境去运行然后等程序再次发生错误时根据日志定位产生问题的代码。
通过打日志操作起来比较麻烦通常等排查完问题后还需要将日志删掉然后再去将修改后的代码打包上传到生产环境。
所以除了这些方式去排查问题还有什么其他的方式可以排查问题吗
正文
我们今天给大家介绍一种问题排查方式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:jdwptransportdt_socket,servery,suspendn,address5005然后等待服务启动成功后我们再启动idea中的监听服务 然后此时我们就可以去对应的代码打断点然后去操作项目环境对应的功能等功能走到断点处就会被拦截到。
2、war包部署到tomcat
我们需要在tomcat服务器的启动参数中添加上面复制的监听的参数。
对于linux环境下的tomcat我们先找到bin目录下的catalina.sh然后修改文件中的这行配置
CATALINA_OPTS$CATALINA_OPTS将上面复制的监听的参数添加到这个配置中添加完后如下
CATALINA_OPTS$CATALINA_OPTS -agentlib:jdwptransportdt_socket,servery,suspendn,address5005然后就可以重启tomcat了然后我们再启动idea中的监听服务。
然后此时我们就可以去对应的代码打断点然后去操作项目环境对应的功能等功能走到断点处就会被拦截到。
们再启动idea中的监听服务。
然后此时我们就可以去对应的代码打断点然后去操作项目环境对应的功能等功能走到断点处就会被拦截到。