如何在eclipse中快速debug到想要的参数条件场景下
前言
俗话说,工欲善其事必先利其器。
对于我们经常使用的开发工具多一些了解,这也是对我们自己工作效率的一种提升。
场景
作为开发,我们经常会遇到各种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到想要的参数条件场景下的更多相关文章
- 如何在Eclipse中快速添加main方法
在创建类时自动添加,只需要勾选"public static void main(String[] args)"
- 如何在Eclipse中设置默认的JSP文件头部编码
如何在Eclipse中设置默认的JSP文件头部编码 一般,我们为了以后在导入和导出程序的时候(特别是项目较大,文件多)一般都默认文件编码格式为UTF-8 如果你通常都是通过Eclipse来编写程序,那 ...
- 如何在Eclipse中添加Tomcat的jar包
原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...
- 如何在eclipse中安装Jess
如何在eclipse中安装Jess 浏览:49 | 更新:2014-05-12 16:39 这个文章帮了不少忙,感谢! 但经我实践,还要把插件那些文件向/dropins/sdk下也放一份,才能成功. ...
- 如何在Eclipse中配置Tomcat(免安装版)
如何在Eclipse中配置Tomcat(免安装版) 2013-10-09 23:19wgelgrsh | 分类:JAVA相关 | 浏览642次 分享到: 2013-10-10 17:10提问者采纳 ...
- 如何在Eclipse中添加Servlet-api.jar的方法
方法一: 点击窗口->首选项->java->构建路径->类路径变量->新建:将你的tomcat目录下的common/lib/servlet.jar加进来.如果你建立了一个 ...
- 【Eclipse】如何在Eclipse中使用命令行?
如何在Eclipse中使用命令行? 虽然我们已经有了像 Eclipse 这样高级的 IDE,但是我们有时候也是需要在开发的时候使用 Windows 的命令行,来运行一些独立的程序.在两个程序中切换来切 ...
- 沉淀再出发:如何在eclipse中查看java的核心代码
沉淀再出发:如何在eclipse中查看java的核心代码 一.前言 很多时候我们在eclipse中按F3键打算查看某一个系统类的定义的时候,总是弹出找不到类这样的界面,这里我们把核心对应的代码加进 ...
- Eclipse中快速定位
Eclipse中快速定位 选中项目,ctrl+h 一.目标 查找如下的页面属于哪个activity 二.步骤 1.查找关键字 上述页面中“点我”两个字比较显眼,我们可以去android项目中搜索出现“ ...
随机推荐
- 【转】浏览器输入URL后发生了什么
转自:http://www.cnblogs.com/webdeve/p/7865520.html本文摘要: 输入网址 当我们在浏览器输入网址并回车后,一切从这里开始. 一.DNS域名解析 我们在浏览器 ...
- Ames房价预测特征工程
最近学人工智能,讲到了Kaggle上的一个竞赛任务,Ames房价预测.本文将描述一下数据预处理和特征工程所进行的操作,具体代码Click Me. 原始数据集共有特征81个,数值型特征38个,非数值型特 ...
- 《Hadoop金融大数据分析》读书笔记
<Hadoop金融大数据分析> Hadoop for Finance Essentials 使用Hadoop,是因为数据量大数据量如此之多,以至于无法用传统的数据处理工具和应用来处理的数据 ...
- Javascript 进阶 面向对象编程 继承的一个例子
Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承,这篇使用一个例子来展示js如何面向对象编程,以及如何基于类实现继承. 1. ...
- html总结01
lesson01~lesson02基础 <!DOCTYPE html> <html lang="en"> <!-- ################# ...
- 腾讯2017年暑期实习生编程题【算法基础-字符移位】(C++,Python)
算法基础-字符移位 时间限制:1秒 空间限制:32768K 题目: 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间. 你能帮帮小Q吗? ...
- RabbitMQ分布式集群架构和高可用性(HA)
(一) 功能和原理 设计集群的目的 允许消费者和生产者在RabbitMQ节点崩溃的情况下继续运行 通过增加更多的节点来扩展消息通信的吞吐量 1 集群配置方式 RabbitMQ可以通过三种方法来部署分布 ...
- Hibernate Annotation 生成数据库表(UUId)
User.java实体类 package com.tao.pojo; import javax.persistence.Column; //用注解的方式生成表 import javax.persist ...
- bzoj 2500 幸福的道路 树上直径+set
首先明确:树上任意一点的最长路径一定是直径的某一端点. 所以先找出直径,求出最长路径,然后再求波动值<=m的最长区间 #include<cstdio> #include<cst ...
- BZOJ_1803_Spoj1487 Query on a tree III_主席树+dfs序
BZOJ_1803_Spoj1487 Query on a tree III_主席树 Description You are given a node-labeled rooted tree with ...