很多时候新人问的问题,其实他自己琢磨琢磨,多花半天,甚至两三天也能解决,但总是习惯问。而且不善于总结方法。
编程语言有很多Java、Golang、PHP、C++、.net,如果每个都记得滚瓜烂熟,一点问题都没有。难度很高!即使同一门语言,也很难
记清楚所有语法。所以为什么会有一个经验问题,知识广度问题。同时也存在一个要学会定位问题的问题。
经验丰富,则查找资料,解决问题方法丰富。
知识广,则查找资料,提问题准确。
定位准确,则更容易针对问题解决问题。
在这里写一下早年总结的一下如果遇到问题如何自己定位的思路:
1、删减法
删代码,删到发现这个bug消失,那么很好,你就知道是哪一行或者哪几行。
常用于jsp页面使用、sql问题定位、了解业务逻辑
2、替换法
如果一直怀疑某些参数问题,可以采用替换法,将代码中的参数替换或者常量写死。
常用于参数,具体方法,具体某一行问题定位。
3、更换jar包法
替换jar包,测试
常用于怀疑第三方jar包有问题
4、模拟测试法
将参数写死,模拟发出请求。这个就不用多说了
5、更换环境法
可以更换服务器如tomcat7、tomcat8.可以更换jdk如jdk1.7,jdk1.8。
6、打日志
每一行都打上日志,根据打印结果跟踪分析。过后不要忘了删除日志。
7、查百度
哈哈,这个就不用说了。
8、查谷歌
如果度娘不行,就去谷歌吧,问题定位相对准一些。
还是强调,要多折磨自己,多憋着。同时要会多记笔记,多总结!这样才能不断成长。
补充
1、如果是app应用,服务端一定要学会使用filder进行抓包,这对你定位问题帮助很大。