前言

俗话说,工欲善其事必先利其器。

对于我们经常使用的开发工具多一些了解,这也是对我们自己工作效率的一种提升。

场景

作为开发,我们经常会遇到各种bug,大部分的bug很明确,我们直接可以打断点定位到。

但是有的情况下,我们的断点可能在某个循环中~而且这种循环量有点大,如果手动F8一直等到自己想要的参数出现,然后再详细查看每个参数的值,这个未免有些麻烦。

这个时候呢~brakpoint properities就派上用处了

用法

     public static void main(String[] args)
{
for(int i=0;i<10000;i++)
{
count++;
//do~something~ 假设这里还有很多参数,以及一些业务的处理
}
System.out.println(Thread.currentThread().getName() + "最终count>>>"+count);
}

首先在我们确认需要打断点的地方,手动打上断点,如上代码,很简单的一个方法,我们在第5行打上断点,我们想查看循环到第100次的时候参数值的情况,这个怎么办?肯定不能手动F8一百次吧!

第一种,切换eclipse到debug模式,然后找到当前断点,右键,选择“brakpoint properities” 菜单,勾选hit count 设置数值为100 这样当这行代码被执行第一百次的时候,会停下来,然后我们就可以慢慢查看具体的各个参数情况了。如下图所示:

第二种,设置条件表达式,我们要找到count 等于100 的情况,这个时候我们勾选conditional 选项 然后在下放的文本域中 输入条件 “count == 100 ” 和java代码写法一样,只要表达式返回的是boolean值就可以。另外,假如我们的参数条件可能不止count一个

我们可以直接在 count == 100 后面拼接其他的参数条件,比如 “ count == 100 || count == 500 && xxxargs > 0  ”这种形式也是可以的。

第三种,同时勾选hit count 和 conditional ,这个时候要特别注意,虽然是多选框~但是 2个的条件是 与 的关系,不是 或 的关系。 也就是在满足 第一个hit count数同时满足第二个条件才会停下来。

按照我们的前面的代码,如果将hit count设置为100,同时将conditional 设置为 count == 100 这个时候是不会有任何停留,因为当前者满足的时候,后者才等于99。这个时候我们需要将count数设置为101 或者将

表达式改为  count == 99 ,这样才同时满足。

如何在eclipse中快速debug到想要的参数条件场景下的更多相关文章

  1. 如何在Eclipse中快速添加main方法

    在创建类时自动添加,只需要勾选"public static void main(String[]   args)"

  2. 如何在Eclipse中设置默认的JSP文件头部编码

    如何在Eclipse中设置默认的JSP文件头部编码 一般,我们为了以后在导入和导出程序的时候(特别是项目较大,文件多)一般都默认文件编码格式为UTF-8 如果你通常都是通过Eclipse来编写程序,那 ...

  3. 如何在Eclipse中添加Tomcat的jar包

    原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...

  4. 如何在eclipse中安装Jess

    如何在eclipse中安装Jess 浏览:49 | 更新:2014-05-12 16:39 这个文章帮了不少忙,感谢! 但经我实践,还要把插件那些文件向/dropins/sdk下也放一份,才能成功. ...

  5. 如何在Eclipse中配置Tomcat(免安装版)

    如何在Eclipse中配置Tomcat(免安装版) 2013-10-09 23:19wgelgrsh | 分类:JAVA相关 | 浏览642次 分享到:   2013-10-10 17:10提问者采纳 ...

  6. 如何在Eclipse中添加Servlet-api.jar的方法

    方法一: 点击窗口->首选项->java->构建路径->类路径变量->新建:将你的tomcat目录下的common/lib/servlet.jar加进来.如果你建立了一个 ...

  7. 【Eclipse】如何在Eclipse中使用命令行?

    如何在Eclipse中使用命令行? 虽然我们已经有了像 Eclipse 这样高级的 IDE,但是我们有时候也是需要在开发的时候使用 Windows 的命令行,来运行一些独立的程序.在两个程序中切换来切 ...

  8. 沉淀再出发:如何在eclipse中查看java的核心代码

    沉淀再出发:如何在eclipse中查看java的核心代码 一.前言   很多时候我们在eclipse中按F3键打算查看某一个系统类的定义的时候,总是弹出找不到类这样的界面,这里我们把核心对应的代码加进 ...

  9. Eclipse中快速定位

    Eclipse中快速定位 选中项目,ctrl+h 一.目标 查找如下的页面属于哪个activity 二.步骤 1.查找关键字 上述页面中“点我”两个字比较显眼,我们可以去android项目中搜索出现“ ...

随机推荐

  1. 你不知道的JavaScript--Item22 Date对象全解析

    本篇主要介绍 Date 日期和时间对象的操作. 1. 介绍 1.1 说明 Date对象,是操作日期和时间的对象.Date对象对日期和时间的操作只能通过方法. 1.2 属性 无: Date对象对日期和时 ...

  2. Python定时任务

    在项目中,我们可能遇到有定时任务的需求.其一:定时执行任务.例如每天早上 8 点定时推送早报.其二:每隔一个时间段就执行任务.比如:每隔一个小时提醒自己起来走动走动,避免长时间坐着.今天,我跟大家分享 ...

  3. 小米笔记本怎么关闭secure boot

    关闭Secure Boot的步骤: 一.关闭 "快速启动" 功能 1.右键-开始菜单- 电源选项,进入后 点击"选择电源按钮的功能". 2.进入电源选项设置后, ...

  4. 关于Kafka日志留存策略的讨论

    关于Kafka日志留存(log retention)策略的介绍,网上已有很多文章.不过目前其策略已然发生了一些变化,故本文针对较新版本的Kafka做一次统一的讨论.如果没有显式说明,本文一律以Kafk ...

  5. bzoj 4501 旅行

    01分数规划+最大权闭合子图 倒拓扑序处理每个节点 $$f[x]=\frac{\sum{f[v]}}{n}+1$$ 二分答案$val$ 只需要判断是否存在$\sum{f[v]}+1-val>0$ ...

  6. noip 2015 斗地主 大爆搜!!!

    反正肯定是大模拟 但是每一个可以出的牌都搜一定不是最优的 考虑最特殊的出牌方案:顺子(单,对,三) 每一种方案再加上暴力贪心打出剩下的牌的步数 #include<cstdio> #incl ...

  7. BZOJ_2242_[SDOI2011]计算器_快速幂+扩展GCD+BSGS

    BZOJ_2242_[SDOI2011]计算器_快速幂+扩展GCD+BSGS 题意: 你被要求设计一个计算器完成以下三项任务: 1.给定y,z,p,计算Y^Z Mod P 的值: 2.给定y,z,p, ...

  8. 《The java.util.concurrent Synchronizer Framework》 JUC同步器框架(AQS框架)原文翻译

    一.论文简介 闲来无事,看看源码,发现了一篇JDK作者的论文<The java.util.concurrent Synchronizer Framework>主要描述了作者对Abstrac ...

  9. HTTP协议中GET和POST区别

    GET一般用于获取和查询资源信息:POST一般用于更新信息,表示可能修改服务器上资源的请求 GET请求一般是幂等的 GET请求数据会附加在url之后,POST请求数据放到request-body中 G ...

  10. 基于SpringBoot从零构建博客网站 - 确定需求和表结构

    要确定一个系统的需求,首先需要明确该系统的用户有哪些,然后针对每一类用户,确定其需求.对于博客网站来说,用户有3大类,分别是: 作者,也即是注册用户 游客,也即非注册用户 管理员,网站维护人员 那么从 ...