当你使用一个开源软件时,遇到问题,是不是一筹莫展呢?因为我们对使用的软件不了解,不出问题还好,如果出了问题,如果没有调试信息,那我们只能自行 百度、Google,就算你连 Bing 都用上,如果你用的软件使用不是很广泛,那找到解决方案的希望也是很渺茫。然后,你就不断搜索答案,一遍一遍的尝试错误的解决方案,到头来时间都浪费了,你将会感慨你虚度了一天,第二天你去问论坛的大神,问 QQ 群里的大牛,然而没有人“理你”,可能是因为你问的问题姿势不对,也可能别人觉得你问得问题太 LOW,或者说大牛太忙,不管什么原因,你就是找不到答案。
你开始崩溃了,怎么才能解决问题呢?
于是,你想起一个开发良好的软件肯定有完善的调试信息,这时,你才想起增加错误处理,比如增加调试代码,如 try - catch,查看软件的错误日志,结果报错信息或者错误日志完整的告诉了你出问题的原因,然后你找到出问题的地方,马上解决了错误。
这个情境可能每天都在你、我、他/她的身上发生,我们不应该把时间浪费在没有意义的寻找,就像无头苍蝇一样的,撞到了算你幸运,然而撞不到是多数的情况。我们必须有一个解决问题的思路。对我来说,我的解决思路一般如下:
- 首先看在自己的认知范围内是否找到问题出在哪里;
- 如果问题自己找不到为什么,那么可以尝试搜索 Google ,最多看两页的搜索结果,如果找不到解决方案,至少可以看到一些蛛丝马迹,切忌无脑的不断尝试别人给的思路,要弄懂原理才行;
- 如果还是解决不了问题,那么你可以依靠软件自身的错误日志,毕竟只有软件的开发者最懂这个软件或者类库;
- 如果什么方法都尝试了,还没有解决,那么离开电脑,让头脑清醒,放松一下,不要影响一天的心情,说不定过一段时间你回来马上就解决了。
下面我举个使用 MapServer 时遇到的问题及其解决思路。
遇到问题