-
Notifications
You must be signed in to change notification settings - Fork 1.1k
如何解决BUG?
杨尚川 edited this page Apr 1, 2015
·
4 revisions
**1、定位问题。**因为我所有的开源项目都有详细的SLF4J日志输出,当然很多其他开源项目也一样,所有的异常以及自己记录的日志都会统一输出,这为定位问题提供了可能。开发中养成记录详细日志的习惯对于定位问题有非常大的帮助,如果日志不详细或者出现把异常吞掉的情况,那么定位问题就会变得非常困难,APDPlat旗下的10大开源项目都有非常详细的日志。
**2、查找原因。**如果是自己的代码的问题,一般很快就能搞定了。如果是其他开源项目的问题则继续3。
**3、google和stackoverflow搜索异常及提示信息。**因为搜索有限制长度,所以调整长度,去除个性化信息如自己的账号名称自己的路径等,一般常见的问题一搜就有,而且别人都解决了,照着解决就行,如果没有类似的问题或没有解决方案则继续4。
**4、查阅官方文档。**开源项目一般官网都有WIKI,入门指南,问题跟踪,常见问题等链接,可以在这里搜索浏览查找解决方法,如果不行则继续5。
**5、查看源码。**因为我都是用maven和开源项目的,所以点控制台抛出异常的类或方法就可以直接看源码,如果不是maven项目,则下载源码加入IDE,通过跟踪异常的堆栈调用流程,一般也就能很快解决问题,当然有些问题是因为开源项目的版本冲突造成的,很难解决,因为涉及修改的地方太大,这种情况就要更改使用的开源项目的版本,如果代码超级复杂、看不懂、找不出原因或是理不出头绪则继续6。
**6、寻求帮助。**找相应的交流群、论坛等寻求帮助,给开源项目的作者发邮件,给开源项目提交BUG等。