《幽灵行动之次世代战士2》的一个诡异BUG
我下了一个幽灵行动之次世代战士2都无法进游戏,每...
遇到一个诡异的Bug,求助,关闭STM超线程以后
如还原默认值无线
取出cmos电池
短接cmos清除跳线
一分钟后还原跳线再试。
我的世界去到了一个不知名的地方。。。。好诡异的B...
你们工作中遇到过什么诡异的bug,最后怎么解决的?
这让我想起了自己曾经做程序员的苦逼日子,那一次遇见的BUG超级头疼。让我现在都记忆犹新。从发现bug 到最终解决耗时一个月,当时项目已经马上要发版本,所以期间每天搞到12点。累计投入1个专职测试,最高峰时期有一个10人的攻关小组,这很菊花厂,其中一半以上的都是senior developer,一个价值上百万的bug。调试的难度可以说是灾难级的,让我来回忆一下自己的经历吧。
1.数据不一致,很难测试
测数据库一致性的用例一般用转账的例子,例如A给B转10块钱,那就需要把A的账户余额减10,再给B的账户余额+10,然后再判断一下A和B总的账户余额不变。当然你也可以扩展到多个表,但是基本原理类似。我们的测试是用TPCC,所以一致性使用的是TPCC的业务模型,模拟往TPCC的warehouse之间出货,然后查库存是否一致。为了尽量模拟用户的真实使用场景,当然得导入大量的数据,加大并发,中间还会故意模拟各种故障。 所谓的各种故障,说白了也无非是杀进程,下电,模拟磁盘故障,因为Taurus又是一个分布式的数据库,网络故障必不可少,模拟网络抖动,丢包,网络割裂。
2.定位和解决
最开始接手这个问题的时候,首先当然是看测试测的对不对了,因为之前也乌龙过几次,测试一开始导入的数据就有部分不成功,导致一致性检查一开始就没通过。确认问题后,就开始定位。首先我们想的是找到重现条件,好吧,那就开测吧,搭个环境,导个数据,1天下来也是能够重现一次的。那不一致的日志有没有什么特征呢?插入的数据有上千万条,每次测试出来的不一样的记录,连不一样的表都不重样。
总之,遇见问题一定要冷静,仔细分析,询问老前辈。最后祝愿你能解决每一个难题!
幽灵行动2的介绍
《幽灵行动之次世代战士2》是在2006年推出的超好评军事战斗游戏,也是Xbox360上第一款销售破百万套的作品,依靠前作叫好又叫座的超人气,这次《幽灵行动:尖峰战士2》的公布也让玩家非常期待。二代游戏故事将延续前作剧情之后,描写的是,在玩家扮演的美国精英特潜部队“幽灵”小队解决墨西哥内乱后,恐怖份子仍不死心的继续策划阴谋,因此幽灵小队开始全新的冒险任务。