日期:2014-05-16 浏览次数:20350 次
?
?
前言:不知不觉写了很多,希望你能耐心看完这篇文章
?
任何一个编程者都少不了要去调试代码,不管你是高手还是菜鸟,调试程序都是一项必不可少的工作。一般来说调试程序是在编写代码之后或测试期修改Bug 时进行的,往往在调试代码期间更加能够体现出编程者的水平高低以及分析问题的准确度。不少初学者在寻找错误原因时,总是不得要领,花费了大量时间却无法解决一些最终证明是相当简单的Bug。
?
在长期解答 zTree 相关问题时,也的确发现很多的问题其实不算什么问题,仅仅是编程者不会调试造成的,通过自己日常工作观察,这里面有态度问题也有思考问题的方式方法,故总结一下自己经验,以供大家参考(尤其是菜鸟), 对于高手来讲,如果你愿意看完这篇文章,也非常欢迎拍砖和提供建议,我相信这样可以不断让这篇文章充实并完善起来,肯定也可以帮助到更多的朋友。
?
试想一下:出现了某个bug,有人用几分钟就搞定了,有人用了半天或者一天都找不到原因所在。你愿意当前者还是后者呢?想当前者的就请好好看完本篇文章吧。
?
本篇文章主要是帮助大家在调试代码时,如何建立解决问题的思路。所以并不会专门介绍不同浏览器的具体调试方法。(在网上关于 chrome、firefox、ie 等浏览器的具体调试方法已经有很多了,这里就不一一描述啦。)另外,俗话说的好——“js、html 和 css 是一家”,因此在讲述中也会稍带有html 和 css 的内容。
?
一、 遇到错误怎么办?
辛辛苦苦写了一大段代码却无法运行,怎么办?……前两天还正常的代码怎么今天报错了,怎么办?……同样的代码在这个页面正常怎么到了另一页面就出问题了,怎么办?……这些情况你都遇到过吗?是否被错误搞得焦头烂额、心情烦躁?(“不管路途有多么遥远,有多少艰难险阻,都不可能阻挡我前进的步伐!”——唐师傅)
?
1、 调整心态
出现问题很正常,其实不出问题反倒不太正常。所以当发现问题的时候我们需要冷静。不要在乎身后站着的是谁,不要在乎距离上线时间还有几个小时,让自己平静下来,深呼一口气——来吧,不就是个小问题嘛。所有的Bug都在我的掌控之中!
禁忌:出了问题就找人帮忙,这样会导致经常打扰别人,而且也不利于自己的技能提升。只有当自己经过一番努力后,的确找不到解决办法时再去寻求帮助。而且提出问题时,也要尽量将问题描述清楚。
?
2、 寻找特征
解决错误的前提是要发现错误,发现错误的前提嘛…当然是要去“寻找”喽!对于简单的报错信息完全可以利用调试工具的提示:xxxx行出现什么什么错误。如果这则信息100%有效,那么你就不需要再看这篇文章了。
我们遇见的错误表象一般分为以下几种
?
?
这种一般最容易解决,不需要我来废话了……
?
?
这种情况大部分可以解决,但有时候完全不知道是从哪里引用过来的,这种时候会相当的头疼。
?
?
这种情况更糟糕,完全没有头绪了……那我告诉你,往往这种时候最终解决错误的方法更容易。
根据特征,往往能够快速定位错误的大概位置,便于进一步查找问题