今天在OSChina上看到了篇调试技巧,的确对于调试非常有帮助,并且大部分我们都没有用过,我们经常使用的调试是F5678四个键,如果你还想提高调试效率你可以尝试着用一用,写过代码做过项目的人都知道调试是一件让人头疼的事情,有时候一个小的问题也会浪费你很长的时间,如果你不想再调试上面话费过多的时间,可以用最短的时间找出问题的原因来,可以从调试技巧入手,灵活掌握调试技巧的人也会大大提高开发速度和效率。
就像生活中出了各种各种的问题需要及时解决,不同的事情找到不同的解决方式,找到问题的关键所在,可以说一个会调试的人也是一个会生活的人,他(她)知道怎么样去调节生活,让生活恰意。
简单试了试一下这几种方式调试,还是很好用的平时大家可以再调试过程中注意多使用,熟能生巧,只要使用多了也会熟练了。
逻辑结构
这个调试主要用在有逻辑结构的一些变量里面,比如map、数组、集合等等,我做的这个项目中从前台到后台全是传的map,从后台取出的数据也全是map都是结构化数据,所以,应用这个调试很直观,下面两张图是在费逻辑视图和逻辑视图中的对比:
在没有使用逻辑视图时,map中的数据是键值对的方式排序的如果一多了之后会看着不舒服,想找到你想看的数据就需要一点一点的王后找很码放,再来看一下逻辑视图
逻辑视图可以不仅仅给出了一堆数据,也给出了key/value的方式,清晰一些。
条件Debug
条件调试也就是断点处写一个条件,如果条件为真在断点处就会停止,否则会跳过断点,结合调试例子测试一下:
下面是我给了一个条件是:newid == 24 , 在第一个逻辑视图中,可以看到id值等于24,说明条件为真,程序会在这里停止。需要注意的是各种类型,newid是整形变量如果是一个字符串比较就会出错,在写条件的时候注意类型否则会提示错误。
异常断点
我们调试的目的是什么?是为了找出并解决程序中出现的错误,软件工程中说的是解决发现或者未发现的错误,异常断点是在出现异常的地方停止,也不用你去找出现了什么异常,它自己会遇到异常停止在异常处中断,此处你自己要设置异常的类型,即遇到什么异常停止,我设置了一个除数为0的异常,将在除数为0出暂停,如下
expression和display窗口
这两个窗口我们都不会陌生有点类似于VB里面的立即窗口,在窗口里面输入表达式可以出现结构。下图为display窗口,取得map中值
下面为expression,结果是一样的
这些调试技巧我试了试都挺好用的,为必要的调试增加了些效率,调试也是随着代码的复杂度慢慢变的精细,首先,需要粗粒度的调试猜测问题的大概范围然后再将范围缩小,逐步趋缩小、越来越小时就会用到上面这些很细微的调试技巧,有些可能开始用着反而会多花谢时间,这也是挺正常的需要反复在调试中去熟悉和锻炼才能形成一种应用意识。
逐渐形成利用这些的意识在以后不用想或者考虑你就会这么去做、这么去应用,熟记于心,很多意识的养成也会在反复提醒和做的过程中形成,比如安全意识、吃饭意识等等,例如刚刚下过雨,当你在路边走时旁边有车从你身边经过,贱到你身上一些水,下次再遇到这种情况,即使没有车你也会在路里面走,现在我也爱在路里面走,一种意识。
eclipse 鲜为人知的调试技巧,你用过多少,布布扣,bubuko.com
原文:http://blog.csdn.net/lilongsheng1125/article/details/33752637