深圳易捷网络科技财税咨询网-neatmaster518.com 返回首页

程序员新人怎样在复杂代码中找bug

信息来源:深圳市易捷网络科技有限公司
信息发布时间:2024/12/22
程序员新人怎样在复杂代码中找bug?
1.优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间。
2.对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经验的同事问一下思路,因为在那种开发多年的大型系统里,经常会反复出现同样原因的bug,原因都类似,改了一处,过一阵子另外一处又冒出来,而且无法根治。比如:我那个系统里有个特别危险的API,接口参数比较难用,一旦有人用错了某些情况下就会出诡异的现象,解决很简单,找到调用这个API的地方把调用方式写对就好了。为什么不根治呢?因为要保持兼容性不能改接口了。Windows系统里就好多这种烂API。问下老员工吧,说不定他们都遇到过好多次了。
3.放大现象,有些bug现象不太明显,那么就想办法增大它的破坏性,把现象放大。这只是个思路,具体怎么放大只能根据具体的代码来定。比如:美剧《豪斯医生》里有一集,怀疑病人心肺有问题,就让病人去跑步机上跑步,加重心肺负担,从而放大症状。
4.二分法定位,把程序逻辑一点点注释掉,看看还会不会出问题,类似二分查找的方法,逐步缩小问题范围。
5.模拟现场,有时候我会问自己,如果我要实现bug描述的现象我要怎么写代码才行?比如:我遇到一个死锁问题,但是检查代码发现所有的锁都是配对的,没有忘记解锁的地方,而且锁很简单就是一个普通的临界段,保护几行赋值语句而已。这样的代码怎么写才能让他死锁呢?我想如果让我故意制造这样一个现象,只有在上锁的时候强制杀掉线程了。既然这样就可以去看看有谁强杀线程了没有。
6.制作工具,针对某些bug编写一些调试辅助工具。比如,我那个系统没有完善的崩溃报告,虽然也有dump,但是分析出来的callstack经常不准。于是我为解决崩溃问题编写了个工具,会自动扫描代码,在每个函数入口和出口插入log,以此来定位崩溃点。
7.掩盖问题,虽然这样做有点不厚道,但是有时不得不这么做。有些bug找不到真正的rootcause,但是又要在规定时间内解决,那么我们就可以治疗症状而不去找病因。比如用trycatch掩盖一些奇怪的崩溃。不到万不得已不要这么干,未来可能会付出更大代价。企业网站建设常见问题

相关行业资讯

1、怎么选网站建设公司
2、定制网站建设流程是什么
3、易捷网络谈响应式网站或自适应网站的优点和缺点
4、网络推广的核心是什么
5、谈邮件营销与SEO的关系
6、网页设计影响内容营销的四个点
7、seo优化怎么做可以让搜索引擎收录更多的页面
8、盘点草根建站对域名及服务器常见的误解
9、你的网站做好神马搜索优化了吗
10、成功品牌如何设计其网站标题
11、网站建设中如何防抄袭易捷网络给你支招
12、百度搜索引擎算法变化下的外链建设工作
13、企业网站网页如何制作才能够让用户喜欢
14、 江礼坤:让论坛火起来的六项基本法则
15、新建设的网站如何做长尾关键词排名
16、百度绿萝算法误K网站如何优化恢复
17、企业网站标题优化注意事项
18、SEO不能忽视内部链接的建设
19、如何让搜索引擎蜘蛛来适应网站
20、企业网站建设的原因
21、究竟什么是高端网站设计
22、外贸网站制作一般需要多少钱
23、做个企业网站要多少钱
24、Linux运维学习路线从事云计算运维相关工作必备技能
25、深圳高端网站建设的技术方案有哪些内容
26、新形势下初创B2B行业网站如何经营
27、网站设计开发制作最有价值性的建议
28、谈谈如何让百度快速收录新站
29、小程序开发需要注意哪些事项
30、深圳网站建设|怎么选择深圳网站建设有实力的公司
31、三大知名搜索引擎特点比对
32、网站视觉效果设计真的有必要吗
33、企业网站建设方案如何做以及包含什么内容
34、做SEO最难的就是高质量网站内容加执行力
35、淘宝客网站如何推广_深圳网站制作公司_易捷网络
36、企业网站页面设计要注意哪些细节?
37、 SEO必胜的九大法则
38、网站编程采用什么语言更好
39、响应式网站有哪些优缺点
40、企业网站建设审美作用
41、如何避免你的外贸开发信件被对方当成垃圾邮件?
42、什么原因导致网站收录不涨呢
43、网站制作需要遵守哪些方面的原则
44、专业网站制作,这几点你做到了吗
45、每个企业网站,都应该知晓的5个技巧
46、网页制作用什么软件会比较好
47、一个优秀的企业网被K的悲催史
48、锚文本外链和内链的数量
49、网站定制也是营销的一种手段
50、做企业网站SEO优化需要注意哪些事项
深圳市易捷网络科技有限公司版权所有    粤ICP备2022153140号