Intelij Idea设置条件断点

IDEA断点常用5种方式——条件断点(循环)、回退、表达式执行、中断(不执行后续代码)、指定异常(常用寻找空指针位置) IDEA断点常用5种方式——条件断点(循环)、回退、表达式执行、中断、指定异常(常用寻找空指针位置) 阅读详情

使用断点进行调试是每一个开发者必不可少的一项技能,在调试程序的时候,我们常常会在我们想要分析问题的代码行加上断点,让程序执行到此行时被暂停,便于我们分析问题。一般情况下,基本的断点功能足以满足我们的需求,但是有的情况或者调试的条件更苛刻的时候,只使用基本的断点功能就会显得不太够用。举例说明,现在在程序里有下面这样一行代码:

String str = generateAString();

该行代码定义了一个字符串变量str,它的值由一个叫generateAString的方法返回。假设这个方法可能返回的string有1000种,这个时候我们如果要在这行代码加断点,则任意的1000种字符的情况都会进入这个断点。这也是最通常使用的情况。

然而现在因为一个特殊的需求,我只想分析当str的值为1000种可能的值里的某一个时的程序情况。这个时候如果我们不做任何改动,则我们必须每次都停在这行代码,不停的执行并检测str的值是否是我们期望的值,这无疑是非常效率低下且不方便的。

这就是condition breakpoint,条件断点的使用场景。在Intelij idea里面,我们可以通过快捷键组合:ctrl+shift+F8,打开断点管理的页面,打开之后如下:

上图中左边的list就是我们为当前应用程序加入的所有断点,右边是选中的某一个断点的信息。在这些信息中有一个叫做condition的选项就是我们需要的。勾选上condition选项之后,我们可以在其后的框里写入我们的的条件,其语法和java语法一样,可以将这行代码看作断点出之前的一行代码,在我们写入这个condition之后,它的效果如下代码所示:

if(condition){
    String str = generateAString();
}

例如,按照我们上面的需求,我们就可以定义如下的condition:

这样,就只有当该条件满足:即str的值为xxx时,程序在调试时才会进入我们的断点。

不同的编辑器可能会有不同的定义方法,但其背后实现道理差不多,以上就是对这个实用小功能的记录。

 

 

Java代码调试高级技巧:断点条件设置与表达式求值 本文深入探讨了Java调试中的两个高级技巧:条件断点和表达式求值。条件断点允许开发者在满足特定条件时暂停程序,特别适用于循环和高频调用场景,从而避免不必要的断点触发。通过IntelliJ IDEA等工具,开发者可以轻松设置条件断点,并在特定迭代、对象状态或集合内容检查时进行调试。表达式求值功能则使开发者能够在调试暂停状态下动态计算和查看表达式的值,无需修改代码或添加临时变量,极大提高了调试效率。文章还介绍了如何组合使用这些技巧,以及在不同IDE中的功能对比和调试最佳实践。掌握这些高级调试技巧,可以显著提升问 阅读详情

相关推荐

Intelij Idea远程调试Tomcat配置

是否经常听到,“我本地是好的”,但是一到测试环境就发现不行,还有部分和第三方合作调试环境下只能连接测试环境的,这一切,貌似可以查看日志得以解决,但是,对于比较复杂的业务来说,日志已经满足不了需求,这个时候需要迫切debug来追踪下解决,基于此,才诞生了本文的目的,就是希望能够本地调试测试环境。那我们如何能做到呢? 1、服务端Tomcat设置(以Linux环境为例) ...

臣本布衣,躬耕于南阳 841

在Intellij IDEA中使用Debug

  Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。   所以学习下如何在Intellij IDEA中使用好Debug,主要包括如下内容:     一、Debug开篇     二、基本用法&快捷键     三、变量查看 ...

weixin_30784501的博客 1万+

Intelij idea 集成scrapy开发环境

以Macos sierra0.12.6 为例 1.安装Intelij idea下载地址 https://www.jetbrains.com/idea/download/#section=mac2.安装idea 支持 python 开发的插件Preferences -> Plugins 3.mac 神器homebrew(已经安装好pip的同学,这一步请忽略)命令/usr/bin/ruby -e "$

破阵的专栏 5471

IDEA调试技巧之条件断点

调试的时候,在循环里增加条件判断,可以极大的提高效率,心情也能愉悦。以下介绍下IDEA使用条件【Condition】断点的方法 1、编写一段样例代码 /** * @author jiashubing * @since 2017/11/13 */ public class Test { public static void main(String[] args) { ...

weixin_34245082的博客 816

keil5编程前的工程文件配置,芯片型号支持包配置,用户文件配置,启动文件配置和库函数配置-江科大stm32学习 第一天

1.start文件夹中头文件需要配置路径path,另外user和library也需要,都是同样的操作。如图,在option界面c/c++中,在倒数第二空行的三个点处添加。2.需要设置一个宏,作用是使主函数头文件包含标准库函数,操作如图:复制头文件中8296行的字符串,在option界面的c/c++中第一行define粘贴这个字符串即可。一、首先,下载芯片支持包,选择你自己的器件型号,不懂的可以看我这篇选器件的方法(默认已经注册好用户)点击编译按钮,编译成功后即可在user文件夹里添加main.c正常使用。

weixin_50682964的博客 1951

一篇文章带你认识 SpringBoot

文章目录一、原有 Spring 优缺点分析二、SpringBoot 的概述 一、原有 Spring 优缺点分析 (1)Spring 的优点分析 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的 Java 对象(Plain Old Java Object,POJO)实现了EJB的功能。

南淮北安的博客 765

IDEA断点调试技巧

IDEA断点调试技巧

菜鸡的博客 1496

n8n AI高效工作流自动化 部署使用教程

摘要: n8n是一款开源可视化工作流自动化工具,结合AI能力可高效解决重复性任务。文章详细介绍了从Docker部署到实战应用的完整流程:1)通过Docker Compose自托管n8n,确保数据可控;2)以AI客服日报机器人为例,演示如何串联工单系统、ChatGPT和邮件通知,实现定时自动化;3)进阶搭建交互式AI助手,利用ToolsAgent节点调用业务API;4)整合向量数据库构建RAG知识库问答。关键建议包括:拆分复杂工作流、严格管理凭据、区分开发与生产环境,并建议从高频刚性需求(如日报生成)切入,逐

专注AI大模型,软件混淆,授权 264

InteliJ IDEA的一些设置

InteliJ IDEA的一些设置 在更换新电脑、新系统时总要重新配置idea,为了快速完成配置,将个人经常使用的一些东西写在下面: git、svn提交时忽略文件 步骤:settings——Editor——FileTypes 在下方Ignore files and folders一栏中添加: .iml;.idea;.gitignore;.sh;.classpath;.project;*.setti...

QingDSL的博客 673

4.Simulink基础建模操作——加减乘除运算

加减乘除运算

FPGA/MATLAB学习教程/源码/项目合作开发 9549

【用ArcGIS制作一张好看的中国月度气温图

要最后选中那个事先调整好的那个数据框,这样其他两个数据框才能和其大小一致。

J_Giser的博客 1017

Intelij IDEA

Intelij IDEA解决卡顿问题 - 2019年5月27日更新 Intelij IDEA安装目录里的bin目录下,找到idea.exe.vmoptions和idea64.exe.vmoptions文件,用VS Code打开之后调整IDEA软件启动设置. 一般情况下调整最小内存,最大内存以及缓存容量就可以了,可以参考以下配置. -Xms1024m -Xmx4096m -XX:...

weixin_34368949的博客 239

信号完整性之串扰

1.前言 串扰(Crosstalk)是指信号线之间由互感、互容而引起的耦合,由于这种耦合的存在,当某一信号线发生电平翻转时,在附近的信号线上将感应到一定程度的噪声。 2. 电路设计中抑制串扰的方法 2.1 控制高速信号线之间的间距和平行走线的长度 多个高速信号长距离平行走线时,其间距应遵循3W原则,如下图所示: 3W原则指两相邻信号线的中心间距不少于信号线宽度的3倍,当满足3W原则时,信号线之间...

sinat_15677011的博客 1万+

Intelij IDEA的使用(简述)

目录一、Intelij IDEA安装过程及如何新建项目二、关于IDEA工具的快捷键以及一些简单的设置 一、Intelij IDEA安装过程及如何新建项目 第一次打开的时候:会弹出一个窗口(import idea settings)这个表示导入idea的设置,但我们是第一次使用idea工具,没有设置过idea,所以这里选择:do not import setting…不导入设置。 第二步:会让你接受条款,接受即可。 第三步:don’t send 第四步:一直下一步 第五步:可能会让你填写e

在森林里麋了鹿 7579

基于Qt的工业组态软件开发:图形绘制与TCP通讯实现

在数据接收时,通过 readyRead 信号触发解析函数,校验数据包完整性后提取有效数据,并更新对应图形元素的状态,例如根据温度值改变矩形的填充色,实现设备状态可视化。测试阶段,我们将软件部署到Windows工控机,连接PLC设备进行通讯测试,结果表明图形元素响应及时,TCP数据传输稳定,满足工业现场的基本需求。综上所述,基于Qt的组态软件开发,核心在于利用 QGraphicsView 框架实现图形元素的灵活绘制与管理,结合 QTcpSocket 完成工业数据的可靠交互。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 272

抖音创作者必备工具!免费一键批量下载无水印视频 + 一键提取抖音视频文案

抖音创作者必备工具!免费一键批量下载无水印视频 + 一键提取抖音视频文案

XiaoqiangClub的博客 3360

intelij idea 快速启动 springboot项目

1.win10 或者mac os下载jdk8安装 不需要配置环境变量 直接命令行java -version可以看到版本号说明安装配置成功 2.下载安装intelij idea新建spring initializr项目 2.1新建项目时如果选择war部署 不管勾不勾选web依赖 创建出来的项目结构和配置完全一样  java文件夹放源码  项目根目录下有serverletiniti

天作棋盘星作子 3466

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

InteliJ IDEA 设置与快捷键

IDEA全称InteliJ IDEA,支持Java、Kotlin、Groovy、Scala等语言,能够实现智能编码。相比于Eclipse来说,界面UI更现代化,代码提示补充等功能更智能。

timchen525的专栏 1620

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Intelij IDEA配置Scala与Spark开发环境

文章目录开发环境安装Scala插件安装本地(win10)Scala开发环境IDEA添加Scala环境Hello Spark! 开发环境 IDE:Intelij IDEA 2020.3.2 OS:win10 Spark:3.0.0 Scala:2.12.11 安装Scala插件 首先需要在idea中安装插件,由于不挂梯子会导致网速贼慢,所以我们选取本地安装,资源已上传只个人中心,具体安装步骤如下: 安装本地(win10)Scala开发环境 首先需要确认所开发Spark与Scala的版本兼容问题,Spar

Juuunn的博客 5014

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

win10 关闭intelij idea运行完成的通知

点击右下角消息提醒 在展开的通知中右键intelij idea的通知,选择关闭。 打赏

hello world 1420

Intelij Idea Java tomcat的热部署模式

注意点: eclipse工具可以设置保存立即自动编译,但是Intelij Idea工具明确说明在running和debuging模式下是不会自动编译,必须手动调用 ctrl+shift + F9来触发更新。 1、Tomcat debug热部署模式        将1,2设置成图示内容,1表示类文件和资源文件变动会触发热部署,2表示屏幕失去焦点时候,会触发热部署。但是你会发现这个热部署只能在deb...

臣本布衣,躬耕于南阳 600

InteliJ全家桶——IDEA/PyCharm等快捷键设置

1.点击“File”,“Setting”进入设置界面 2.选择“Keymap”,右方为各个对应的快捷键 3.编辑设置,例如设置动态调整窗口字体大小 为快速查找,我们在查找框输入“size”搜索: 选中,“Decrease Font Size”,点击右键,选择“Add Mouse Shortcut(这里我设置的是鼠标向下拨动滚轮+Ctrl键)”,如果设置纯键盘组合可选“Add K...

Janebook的博客 2084

linux安装inteliJ IDEA

1.下载intelIJ IDEA

qq_39081114的博客 600

intelij Idea的scala环境配置

环境要求 JDK安装 Scala安装 确认Java版本,cmd输入 java -version    Scala官网下载    下载完成后,双击msi文件进行安装    在环境变量中编辑path,其中,安装后已经默认添加了“安装目录\bin”,只需再添加“安装目录\jre\bin”即可。  环境变量设置完成后,可以在cmd中输入scala -version进

络羽汐的博客 846

intelij idea使用sonar

原文地址:https://blog.youkuaiyun.com/qq_21319187/article/details/83113145 使用原因 写了一大片代码,成功感肯定是有的,但是之后代码检查时,由于代码可能比较多、乱,自己也不想去检查,intelij idea安装sonar后,sonar可以帮我发现一些简单的错误,比如:变量未使用、无用代码、请求返回没有处理、某些使用方式错误等 准备工作 1...

专注基础架构领域 4800

HTML5 安装并使用intelij IDEA (stage1-1)

今天开始学习前端,安装并使用intelij IDEA 今天心情异常的不好,头痛的不行。逼迫自己忙起来,不要去想一些无用的事情。 之前就一直在整理自己的思路,不知道要学习些什么好,偶然间发现自己对网页设计似乎还是有点兴趣,也就是目前大家所说的 前端工程师,自己也打算尝试学习一下。 用尽各种办法,把intelij IDEA安装成功了,虽然是英文版的,但是用起来也还顺手。今天闲来无事,打算从基础开始学

MAC--芳 7291
上一篇: spring batch使用reader读数据的内存容量问题
下一篇: 为什么索引可以让查询变快
topEngineerr
博客等级 码龄11年 627粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值