今天在OSChina上看到了篇调试技巧,的确对于调试非常有帮助,而且大部分我们都没实用过,我们常常使用的调试是F5678四个键,假设你还想提高调试效率你能够尝试着用一用,写过代码做过项目的人都知道调试是一件让人头疼的事情,有时候一个小的问题也会浪费你非常长的时间,假设你不想再调试上面话费过多的时间,能够用最短的时间找出问题的解决办法来,能够从调试技巧入手。灵活掌握调试技巧的人也会大大提高开发速度和效率。

就像生活中出了各种各种的问题须要及时解决,不同的事情找到不同的解决方案。找到问题的关键所在。能够说一个会调试的人也是一个会生活的人。他(她)知道怎么样去调节生活,让生活恰意。

简单试了试一下这几种方式调试,还是非常好用的平时大家能够再调试过程中注意多使用。熟能生巧,仅仅要使用多了也会熟练了。

逻辑结构

这个调试主要用在有逻辑结构的一些变量里面。比方map、数组、集合等等,我做的这个项目中从前台到后台全是传的map,从后台取出的数据也全是map都是结构化数据。所以,应用这个调试非常直观,以下两张图是在费逻辑视图和逻辑视图中的对照:

在没有使用逻辑视图时,map中的数据是键值对的方式排序的假设一多了之后会看着不舒服,想找到你想看的数据就须要一点一点的王后找非常码放,再来看一下逻辑视图

逻辑视图能够不只给出了一堆数据,也给出了key/value的方式。清晰一些。

条件Debug

条件调试也就是断点处写一个条件。假设条件为真在断点处就会停止,否则会跳过断点,结合调试样例測试一下:

以下是我给了一个条件是:newid  == 24 , 在第一个逻辑视图中,能够看到id值等于24,说明条件为真,程序会在这里停止。

须要注意的是各种类型,newid是整形变量假设是一个字符串比較就会出错,在写条件的时候注意类型否则会提示错误。

异常断点

我们调试的目的是什么?是为了找出并解决程序中出现的错误。软件project中说的是解决发现或者未发现的错误,异常断点是在出现异常的地方停止,也不用你去找出现了什么异常。它自己会遇到异常停止在异常处中断,此处你自己要设置异常的类型。即遇到什么异常停止。我设置了一个除数为0的异常,将在除数为0出暂停,例如以下

expression和display窗体

这两个窗体我们都不会陌生有点类似于VB里面的马上窗体,在窗体里面输入表达式能够出现结构。下图为display窗体,取得map中值

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlsb25nc2hlbmcxMTI1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

以下为expression,结果是一样的

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlsb25nc2hlbmcxMTI1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

这些调试技巧我试了试都挺好用的。为必要的调试添加了些效率,调试也是随着代码的复杂度慢慢变的精细,首先,须要粗粒度的调试推測问题的大概范围然后再将范围缩小,逐步趋缩小、越来越小时就会用到上面这些非常细微的调试技巧。有些可能開始用着反而会多花谢时间,这也是挺正常的须要重复在调试中去熟悉和锻炼才干形成一种应用意识。

逐渐形成利用这些的意识在以后不用想或者考虑你就会这么去做、这么去应用,熟记于心。非常多意识的养成也会在重复提醒和做的过程中形成,比方安全意识、吃饭意识等等,比如刚刚下过雨,当你在路边走时旁边有车从你身边经过。贱到你身上一些水,下次再遇到这样的情况。即使没有车你也会在路里面走。如今我也爱在路里面走,一种意识。

eclipse 鲜为人知的调试技巧,你用过多少的更多相关文章

  1. 【链接】Eclipse的Debug调试技巧

    Eclipse的Debug调试技巧大全 https://mp.weixin.qq.com/s/bORg9YxJiby2WenYRrXY-w 使用Eclipse调试Java程序的10个技巧 https: ...

  2. Eclipse的Debug调试技巧

    作为开发人员,掌握开发环境下的调试技巧十分有必要.我们在编写java程序的过程中,经常会遇到各种莫名其妙的问题,为了检测程序是哪里出现问题,经常需要增加日志,看变量的值,这样调试很麻烦.假设我每天花费 ...

  3. Eclipse 的一些调试技巧(转)

    原文:http://blog.csdn.net/manymore13/article/details/8972602 1.条件断点 如果你不知道如何添加断点,只需点击左边面板(行号前面)断点即被创建. ...

  4. Eclipse的Debug调试技巧大全

    转载 原文链接:https://blog.csdn.net/u011781521/article/details/55000066 收藏方便以后查看. 19:18:10 2018-12-29

  5. Java程序员应该知道的10个Eclipse调试技巧

    Eclipse是众多Java程序员实用的开发工具,其中开发技巧也是繁多,但作为优秀的Java程序员,需要掌握最起码的调试技巧. 1 条件断点 2 异常断点 3 监视点 4 评估/检查 5 修改变量值 ...

  6. 【转】Android Eclipse调试技巧

    原文地址:https://www.cnblogs.com/tianchunming/p/5423942.html Android Eclipse调试技巧   在Android 应用程序开发中我们经常需 ...

  7. (转)程序员应该知道的10个eclipse调试技巧

    调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...

  8. Android Eclipse调试技巧

    在Android 应用程序开发中我们经常需要调试程序,可以说调试在我们的日常开发中起着十分重要的作用,下面就以Elipse开发环境总结一下调试技巧. 一.Debug 断点调试 所谓断点调试就是指在程序 ...

  9. 【转】你所不知道的Android Studio调试技巧

    这篇写Android studio debug技巧个人觉得写得不错,转自:http://www.jianshu.com/p/011eb88f4e0d# Android Studio目前已经成为开发An ...

随机推荐

  1. Intellij导入子项目时,maven列表子项目灰色不可用---解决方法

    导入子项目的module时,左侧project目录中有一个module图标右下角没有小蓝点,maven管理列表该module为灰色(表明未被管理),尝试几次后终于找到解决方案. 贴一张调好过后的图 第 ...

  2. 大家好,我是ZCDHJ

    大家好,我是ZCDHJ.CJ C2017级的一名Oier.

  3. 建立LINUX服务器

    建立LINUX服务器:一. 下载UltraISO工具并用该工具制作LINUX启动U盘,制作步骤如下:http://www.linuxidc.com/Linux/2012-11/74695.htm [^ ...

  4. [Bayes] Why we prefer Gaussian Distribution

    最后还是选取一个朴素直接的名字,在此通过手算体会高斯的便捷和神奇. Ref: The Matrix Cookbook 注意,这里的所有变量默认都为多元变量,不是向量就是矩阵.多元高斯密度函数如下: 高 ...

  5. C#中抽象类和接口的区别3

    一.普通类和抽象类之间的异同 1.都可以被继承 2.抽象类不能被实例化,只是用来继承的.普通类可以实例化 3.抽象方法只有含方法声明而没有方法体且必须包含在抽象类里面 4.子类继承抽象类必须实现抽象类 ...

  6. C#的XML文件的读取与写入

    在设计程序的时候,对于一些变化性较强的数据,可以保存在XML文件中,以方便用户修改.尤其是对于一些软硬件的配置文件,很多都选择了用XML文件来存取.XML文件简单易用,而且可以在任何应用程序中读写数据 ...

  7. WPF 完美截图 <二>

    根据WPF 完美截图 <一>总结: 1.BitmapSource与BitmapImage及CorppedBitmap之间的转换 2.中心及边角的模板实现及其拖动 3.除了拖动矩形外区域要实 ...

  8. ANDROID基础ACTIVITY篇之ACTIVITY的生命周期(二)

    除了Activity的七大生命周期方法外外,还有两个相当重要的方法需要大家熟记那就是onSavelnstanceState()和onRestoreinstanceState(). 那么什么时候会调用这 ...

  9. 使用.net core在Ubuntu构建一个TCP服务器

    介绍和背景 TCP编程是网络编程领域最有趣的部分之一.在Ubuntu环境中,我喜欢使用.NET Core进行TCP编程,并使用本机Ubuntu脚本与TCP服务器进行通信.以前,我在.NET框架本身写了 ...

  10. Python之Queue模块

    Queue 1.创建一个“队列”对象 >>> import Queue >>> queue = Queue.Queue(maxsize=100) >>& ...