Java项目通过IDEA远程debug调试

news2024/12/31 0:57:02

前言

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

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

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

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

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

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

正文

我们今天给大家介绍一种问题排查方式: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中的监听服务。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2041557.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创客匠人对话(下):普通人做心理学IP为何如此成功?

老蒋创客圈第63期对话标杆直播连麦,我们邀请到【惢众身心成长家园平台】王辉老师。在上篇文章中,我们着重分享了王辉老师如何通过原有客源造流量,引爆大事件发售的核心秘籍。 本篇文章我们将继续分享对话精彩内容,深度剖析王辉老…

python两大编程思想,类和对象,实例变量类变量,静态方法与实例方法和类方法,给对象动态绑定属性和函数

1.两大编程思想 面向对象(python和java)和面向过程(c语言)编程思想的区别 2.类和对象 1.类是抽出对象中的相似属性和行为得到的类别 python中一切皆对象 对于字符串,整数等等都是类型class 可以自定义class&#x…

海康相机二次开发学习笔记2-方案的相关操作

方案和流程是VisionMaster(简称VM)的主要概念,一个方案可以包含多个流程,一个流程可以由多个模块通过连线建立逻辑关系. 方案的相关操作 1. 界面设计 界面分为三个部分:流程显示区,方案操作区,消息显示区.添加GroupBox,文本框,文本,和一些按钮. 2. 流程显示区 为了将方案加…

基于Spring Boot的可盈保险合同管理系统的设计与实现

TOC springboot146基于Spring Boot的可盈保险合同管理系统的设计与实现 绪论** 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关…

论文复现_从 CONAN 中收集 TPL 数据集

1. 概述 CONAN:Conan是一个用于C项目的开源包管理工具。 它的主要目标是简化C项目的依赖关系管理过程,使开发人员能够更轻松地集成、构建和分享C库。 其中有一些比较独特的功能,例如:版本管理、第三方库管理等。 TPL 数据集&…

2.1 MySQL概述

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

多媒体技术及应用课程思政网站

摘 要 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括多媒体技术及应用课程思政网站的网络应用,在外国多媒体技术及应用课程思政已经是很普遍的方式,不过国内的多媒体技术及应用课程思政可能还处于起…

【MIT-BEVFusion代码解读】第二篇:LiDAR的encoder部分

文章目录 1. Voxelization2. backbone2.1 稀疏卷积介绍2.2 SparseEncoder(1)输入输出及参数说明(2)流程 BEVFusion相关的其它文章链接: 【论文阅读】ICRA 2023|BEVFusion:Multi-Task Multi-Sensor Fusion w…

VPN远程同时连接:IPsec站点到站点方式及L2TPoverIPsecVPN方式

一、实验目的及拓扑 实验目的:企业总部与分支通过IPsecVPN建立点对点连接,移动端通过L2TP方式与企业总部连接 二、基本配置 1、如图所示配置接口地址 2、总部接口区域配置 [FW1]dis zone local priority is 100 interface of the zone is (0): # …

【数值计算方法】常微分方程初值问题的数值解法

常微分方程初边值问题数值解 第九章 1. 引言 微分方程 :含有未知函数及其导数或微分的等式; 除了少数特殊类型的微分方程能用解析方法求得精确解外 , 多数情况找不到解的解析表达式 本章研究两类常微分问题: 一阶常微分方程的初值问题 ; 两阶常微分方程边值问题 一…

C#小结:如何在VS2022中使用菜单栏中的Git管理代码

目录 第一部分:基础操作 第一步,登录官网,设置好邮箱,然后右上角新建仓库 第二步,提交代码到远程仓库中 第三步,查看和比对自己修改的内容 第四步,查看该项目所有提交历史记录 第五步&…

LAMM: Label Alignment for Multi-Modal Prompt Learning

系列论文研读目录 文章目录 系列论文研读目录文章题目含义AbstractIntroductionRelated WorkVision Language ModelsPrompt Learning MethodologyPreliminaries of CLIPLabel AlignmentHierarchical Loss 分层损失Parameter Space 参数空间Feature Space 特征空间Logits Space …

CSP-CCF 202009-1 检测点查询

一、问题描述 二、解答 提醒:本题不宜开方,距离间的比较用平方来比较更好 思路:使用三次for循环,逐一找到最小、第二小、第三小 注:这里用到了limits.h头文件,里面包含了int的最大值INT_MAX #include&l…

搭建企业博客:塑造品牌可信度与优化SEO的利器

引言 在数字化时代,信息的传播速度超乎想象,企业如何在这个信息爆炸的环境中脱颖而出,成为连接消费者、塑造品牌形象的关键。企业博客,作为一种低成本、高效率的营销与沟通工具,正逐渐成为企业策略中不可或缺的一环。…

阅读台灯什么品牌好?不良商家最常用的四大阅读台灯套路,需警惕

阅读台灯什么品牌好?市场上的护眼台灯种类繁多,众多选择中不乏以低价吸引消费者的产品,这也导致了部分家长对于护眼台灯的价值产生了质疑,认为它们不过是不必要的开销。确实,一些低质的护眼灯不仅使用了劣质材料&#…

利用minikube部署k8s集群并部署lnmp服务

部署minikube 参考官网进行安装部署 利用minikube部署k8s集群 1. 部署k8s集群 minikube start k8s集群部署lnmp 1. 将如下内容存储为lnmp.yaml文件 --- apiVersion: v1 kind: Namespace metadata: name: lnmp --- apiVersion: v1 kind: PersistentVolumeClaim metadata: na…

请注意,这是第一届程序化售卖广告的奥运会

作者:刀客doc 巴黎奥运会收官了。很多人在谈郑钦文的商业价值、哪个品牌押中了奥运冠军时,却忽略了一个新闻: 这是第一届程序化售卖广告的奥运会:NBC环球通过旗下的流媒体平台 Peacock,以程序化方式销售巴黎奥运会期…

基于java的私人牙科诊所管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于java的私人牙科诊所管理系统,java项…

文心一言 VS 讯飞星火 VS chatgpt (325)-- 算法导论22.5 1题

一、如果在图G中加入一条新的边,G中的强连通分量的数量会发生怎样的变化?如果要写代码,请用go语言。 文心一言: 在图G中加入一条新的边,其对强连通分量(Strongly Connected Components, SCCs)…

海量数据处理商用短链接生成器平台 - 1

第一章 海量数据处理商用短链接生成器平台介绍 第1集 什么是短链接生成器 短链接生成器是一种工具,可以将较长的链接转换成较短的链接。这种工具在许多场景中都很有用,包括营销、社交媒体分享和数据报告等。以下是一些关于短链接生成器的优点和作用&…