前言

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

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

场景

作为开发,我们经常会遇到各种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. Intent的跳转和传值

    看了Intent的使用方法,感觉还是要做一些笔记的,首先对于Intent的跳转Activity这个功能的实现就有两种方法,也可以说有三种: 1.                  2.

  2. 《Linux/Unix系统编程手册》 时间子系统

    Linux下操作系统编程有两本经典APUE即<Advanced Programming in the UNIX Environment>和TLPI<The Linux Program ...

  3. InnoDB基本特性

    Ⅰ.double write 目的:保证数据写入的可靠性 小知识: 什么是partial write? 16k的page只写入了4k,6k,8k,12k就断掉了的情况 corrupt的page就是pa ...

  4. Spring Boot 2.0 教程 - 深入SpringAplication

    原文连接:https://www.codemore.top/cates/Backend/post/2018-05-20/spring-boot-SpringApplication 可以通过Spring ...

  5. OAuth 2.0 认证的原理与实践

    摘要: 使用 OAuth 2.0 认证的的好处是显然易见的.你只需要用同一个账号密码,就能在各个网站进行访问,而免去了在每个网站都进行注册的繁琐过程. 本文将介绍 OAuth 2.0 的原理,并基于 ...

  6. SwaggerUI--SosoApi

    1.SwaggerUI是什么? Swagger UI是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. Swagger-UI 的官方地址:http://swagger.io/ Github ...

  7. EDM模板编写踩坑指南(非响应式,纯table有源码)

    如果问你table布局,你肯定会嗤之以鼻?什么table布局?不是早已经淘汰了吗?但是如果让你写EDM邮件模板,table布局相对来说是最好的选择. 如果让你立刻写EDM,你在网上搜的话,得到的信息相 ...

  8. genymotion中app打开后屏幕是倒的问题

    屏幕是倒的是因为你使用了虚拟机的默认分辨率. 解决办法: 选择需要的设置的虚拟机,点击后面的设置按钮 弹窗中选择其他的分辨率 如果之前是1024x600,前面的数值大于后面的.则换成前面的数值小于后面 ...

  9. range与enumerate的区别

    在迭代中enumerate比range更能灵活,一般情况下尽量用erumerate,下面举例说明: 先来看range的使用: city_list = ['beijing', 'shanghai', ' ...

  10. [codeforces 804F. Fake bullions]

    题目大意: 传送门. 给一个n个点的有向完全图(即任意两点有且仅有一条有向边). 每一个点上有$S_i$个人,开始时其中有些人有真金块,有些人没有金块.当时刻$i$时,若$u$到$v$有边,若$u$中 ...