java在大量增强for循环中找到某个特定对象去分析的方法-推荐使用debug工具(idea为例)

2023-10-26

场景:

代码中有一部分增强for循环,里面是很复杂的处理逻辑,
在这里插入图片描述

并且处理的AObjectList列表数量非常大,在这串代码中想看一下某个name为"小白"的对象的处理过程。
在这里插入图片描述
如果断点直接打在for循环体内
在这里插入图片描述
可能要重复百次甚至千次以上才能找到这个对象

方法:
一、idea断点方式:

打断点之后-右键断点-可以在Conditions(条件)里写上停止的条件,直到满足条件时,才停到这个断点-点Done(完成)-deBug即可
在这里插入图片描述

二、临时改变程序:加if()判断-打断点、打印需要的信息

在这里插入图片描述
如果用这种方式,最好在if里把需要验证、查看的信息打印出来,如果能获得所有的信息,这样也不需要打断点
明显,不如不改程序,用Debug工具好使

三、日常维护:加日志,记录异常信息

一般用来监控一些不经常发生、bug难以复现的程序。比如可能因为网络问题,造成调接口获得的一个属性丢失等,而这种情况可能单独测试时是正常的
增加日志,可以日常监控,如果有异常,记录出是哪个对象,及过程中数据变化
这里如果影响重要数据的话,可以搭配报警系统(),做到及时处理
在这里插入图片描述在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java在大量增强for循环中找到某个特定对象去分析的方法-推荐使用debug工具(idea为例) 的相关文章

随机推荐

  • 13个超强的 SpringBoot 实战项目 (还不赶紧收藏起来)

    在GItHub和Gitee上找了一些超好的Spring boot项目 如果大家觉得不错 可以顺手给这些项目点个小星星 一 云收藏 云收藏是一个使用 Spring Boot 构建的开源网站 可以让用户在线随时随地收藏的一个网站 在网站上分类整
  • java使用WebSocket实现一对一实时对话

    最近的项目中有实时对话的需求 这里也是查阅了很多的资料 使用webSocket实现一对一对话是最多的 链接 https pan baidu com s 1Vn1e1qw7nRnU1 4R 4fcGg 提取码 qwer 逻辑讲解 现在我们要给
  • Linux下protobuf的简单使用

    1 创建proto文件 touch test proto 2 往proto文件添加内容 syntax proto3 message Person string name 1 int32 age 18 第一行表示使用proto3语法进行编译
  • 【CUDA入门笔记】CUDA内核与线程配置

    1 CUDA核函数 在GPU上调用的函数成为CUDA核函数 Kernel function 核函数会被GPU上的多个线程执行 每个线程都会执行核函数里的代码 当然由于线程编号的不同 执行的代码路径可能会有所不同 1 函数的最前面是声明标识符
  • Qt进程和线程之一:运行一个进程和进程间通信

    Qt提供了一个与平台无关的QProcess类 用以对进程的支持 本节讲述了怎样在Qt应用程序中启动一个外部程序进程 以及几种常用的进程间通信方法 设计应用程序时 有时不希望将一个不太相关的功能集成到程序中 或者是因为该功能与当前设计的应用程
  • pinia简介和setup语法糖

    pinia简介和setup语法糖 1 pinia的基本特点 pinia同样是一个Vue 状态管理工具 它和vuex有很多相似的地方 本质上他是vuex团队核心成员开发的 在vuex上面提出了一些改进 与vuex相比 pinia去除了vuex
  • Linux的Shell变量、环境变量、代理设置

    Linux的Shell变量 环境变量 代理设置 引言 一 shell与shell变量 环境变量 1 1 概念 1 2 作用域 1 3 SSH 连接 Linux 服务器的环境变量处理流程 1 4 环境变量文件 二 变量增删改查 2 1 查看变
  • 金融tag对照表

    tag 说明 格式 长度 值 描述 4F 应用标识符 AID b 注册应用提供商标识 RID 和专用标识符扩展 A000000333010101A000000333确定UICS注册应用提供商 所有的卡片都一样 010101表明UICS借记应
  • Axios post请求

    1 常见post请求种类 1 form表单提交 method post 是同步的 要素 页面是否刷新 2 axios post 异步操作 1 1axios post请求入门案例 1 1 1编辑前端JS h1 Axios测试案例 2 h1
  • MySQL——使用mysqldump命令备份

    使用mysqldump命令备份 mysqldump命令可以将数据库中的数据备份成一个文本文件 表的结构和表中的数据将存储在生成的文本文件中 本节将介绍mysqldump命令的工作原理和使用方法 mysqldump命令的工作原理很简单 它先查
  • java基础面试题系列(81-90)

    请你说明ConcurrentHashMap有什么优势 1 7和1 8有什么区别 参考链接 https www cnblogs com like minded p 6805301 html 请你说明一下TreeMap的底层结构 TreeMap
  • 第十篇 -- Windows 下免费的GIF录制工具

    网址 https blog csdn net u013019701 article details 80550411 本人用的第二个 亲测好用 转载于 https www cnblogs com smart zihan p 11461101
  • [CISCN2019 华北赛区 Day2 Web1]Hack World

    1 测试过滤 我想到到了 联合注入 unin被过滤 报错注入 and or updatexml被过滤 bool注入和time注入 and or被过滤 可以通过fuzz测试 模糊测试 发现哪些字符被过滤了 length为482的 全都是被过滤
  • LLVM编译流程

    LLVM概述 LLVM是构架编译器 compliter 的框架系统 以C 编写而成 用于优化以任意程序语言编写的程序的便是时间 compile time 链接时间 link time 运行时间 run time 以及空闲时间 idle ti
  • 网络编程--TCP/IP协议

    参考 https lijie blog csdn net article details 105297532 https blog csdn net qq 20785973 article details 83104695 https bl
  • 华为OD机试 - 分苹果(Python)

    题目描述 A B两个人把苹果分为两堆 A希望按照他的计算规则等分苹果 他的计算规则是按照二进制加法计算 并且不计算进位 12 5 9 1100 0101 9 B的计算规则是十进制加法 包括正常进位 B希望在满足A的情况下获取苹果重量最多 输
  • JJWT三种算法的工具类实现

    前言 最近学习jwt生成token 一直各种报错 不知道怎么生成对应的秘钥 周末研究了一下 把jjwt的HMAC RSA ECDSA三种签名算法方式都实现了 并记录下来 依赖版本如下
  • 波场链通过Tron JS SDK TronWeb发送带备注的TRC - 20 转账及使用简介

    波场链通过tronWeb发送带备注的TRC 20 转账 var contractAddress TRC 20 合约 选择合约 法 let functionSelector transfer address uint256 根据 法构造参数
  • 应对程序员面试,你必须知道的八大数据结构

    大数据文摘出品 编译 Hope 睡不着的iris 胡笳 云舟 瑞士计算机科学家Niklaus Wirth在1976年写了一本书 名为 算法 数据结构 编程 40多年后 这个等式仍被奉为真理 这就是为什么在面试过程中 需要考察软件工程师对数据
  • java在大量增强for循环中找到某个特定对象去分析的方法-推荐使用debug工具(idea为例)

    场景 代码中有一部分增强for循环 里面是很复杂的处理逻辑 并且处理的AObjectList列表数量非常大 在这串代码中想看一下某个name为 小白 的对象的处理过程 如果断点直接打在for循环体内 可能要重复百次甚至千次以上才能找到这个对