码迷,mamicode.com
首页 > 其他好文 > 详细

bug修复日记------玩家第一次登陆的信息没有存储

时间:2015-02-04 21:53:14      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:sun-bug修复

结构介绍:

最近在写游戏中社交相关的逻辑处理。整体思路架构如下:

当玩家登录游戏,去数据库中查找有没有玩家的信息,如果有,那么就取出来,放在内存中,如果没有,就新建一个玩家信息。

当玩家登出游戏的时候,把玩家的信息从内存中写入数据库中

现场日记:

今天在做单元测试的时候,发现一个bug,当玩家第一次登录游戏,然后登出之后,玩家的信息竟然没有存到数据库里。

当玩家第二次登录的时候,再登出游戏,竟然存到数据库里了。

分析过程:

在知晓这个bug之后,仔细打印从玩家登录到登出过程中运行的每一个函数。经过一翻查找,发现玩家在登出游戏的时候,玩家的信息

往数据库里存储的时候报错,并且错误被劫持。

紧接着,开始打印错误日志,发现当玩家的信息往数据库里面写入的时候,有一个信息从内存中读取失败。

然后分析这个信息,发现了之前思维的一个漏洞:

之前的想法是当玩家第一次登录的时候,先校验用户名和密码,如果不存在用户,那么就会新建一个。这时候,应该接着新建一个初始

的玩家信息,但是之前没有执行这一步。所以导致玩家的信息一直都没有,自然就写不入数据库里。


bug修复日记------玩家第一次登陆的信息没有存储

标签:sun-bug修复

原文地址:http://blog.csdn.net/rowanhaoa/article/details/43492613

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!