调试技巧的零星记录

最近公司发起了一个分享调试技巧的活动,正好这个是我自以为良好的方面,所以也在博客中记录一下。

虽然良好的编码习惯可以一定程度上减少bug的发生,但bug依然是程序员必须要面对的问题,这里仅记录bug发生后的事情。

 

我认为,从被报告bug开始,需要经过如下步骤:

1.确认bug:

        a.确认是否确实是bug

        b.确认bug类型:需求里的逻辑错误、需求理解错误、设计上的错误、功能性错误、功能表现错误、表现不准确或会误导用户的错误。

2.定位引起bug的地方:

        可能是一个或多个文件中的代码引起。一般用排除法定位。

3. 解决bug:

        这个没什么好说的,该怎么改就怎么改。

4. 验证:

        这一步非常重要,在修复bug后,需要对bug所属功能和可能影响的功能进行测试。这是为了保证bug已被正确修复,且没有产生新的bug。

5. 在你的大脑中缓存该bug:

        出bug不可怕,可怕的是多次出现同一个bug。所以请对改过的bug留下印象,特别是那些让你留下过痛苦回忆的bug。所谓的资深,无他,只是犯过的错误比别人多而已。

 

以上几个步骤中,排除法可以用在每个步骤,简单实用,效果卓越。

此外,平时应该多学习和思考各种技术的底层原理,这能让改bug时事半功倍。

 

遇到疑难bug时,最好忘记"不可能"这三个字,根据底层原理来思考推敲,往往疑难的bug的根源就在大多数人认为不可能的地方。

        

posted on 2013-08-04 14:17  bee0060  阅读(177)  评论(0编辑  收藏  举报

导航