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

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

信息来源:深圳市易捷网络科技有限公司
信息发布时间:2025/4/4
程序员新人怎样在复杂代码中找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、2018最新企业网站优化技巧新攻略
5、时效热门关键字网络营销技巧
6、怎样操作网站才能提高网站的收录速度呢
7、新站如何快速收录首页
8、深圳网站制作为什么会使用php
9、网站制作规划之网站盈利模式有哪些
10、网站添加反向链接时需要注意什么
11、如何通过分析竞争对手的网站,提高SEO排名
12、企业做网站商品模块
13、医疗行业网站制作需要注意什么内容
14、网络推广公司做产品服务与国外有哪些差别
15、网络推广渠道有哪些
16、雷军:农村电商的需求,你真的懂吗
17、网站设计的必须历经的环节是什么
18、一起来看看建设网站的经典布局
19、这就是网站建设的基本步骤
20、有什么可以提高蜘蛛抓取网站频率的方法
21、企业邮箱是否可以采用https访问和SSL证书加密
22、网站建设公司都必须要掌握的思维有哪些
23、定制网站建设的特点是什么?
24、站长应该如何利用成功学思维做好网站运营
25、网站推广优化中我们对社交媒体平台的几个误区
26、网站建设良好的网站导航把握以下几点原则
27、怎样建立一个网站有哪些准备内容和步骤
28、一个SEO老手总结:新人常犯的几个错误
29、网站建设小技巧提升网站质量
30、网站优化要抓住这四个关键时期
31、网站制作过程中关键词的优化是重点
32、ULR链接优化到底有多重要
33、真正做好网站优化的新思路你不得不看
34、微网站建设对于企业营销的好处分析
35、网站制作需要准备哪些内容
36、谨记:新手要知道的企业网页设计法则
37、网站经营要有明确的方向
38、SEO优化:网站被降权后的该如何进行补救
39、网络营销是什么常见的方式有哪些
40、网站怎样进行搜索引擎优化
41、网站建设怎样才能提升网站的设计感
42、网站建设优化网站导航条设计要点
43、提升网站内容原创性的8种有效方法
44、怎么打破网站建设的传统模式做可引流的网站?
45、网站优化从网站改版开始
46、网站设计公司都有哪些设计规范
47、手机网站建设设计风格简约统一
48、巧用百度百科引爆网站流量
49、网站制作设计总结
50、了解一下如何高效的对新的网站进行网站优化
深圳市易捷网络科技有限公司版权所有    粤ICP备2022153140号