記一次噁心BUG的查詢

1、策劃把煉獄挑戰轉移到封魔錄中,所以需要在玩家登陸的時候,做一次老數據的轉換。將外網玩家的煉獄挑戰的進度映射到封魔錄中。

2、假設封魔錄進度有6關,如果封魔錄沒有通過 6關,那麼在在主界面會顯示封魔錄的按鈕,如果6關都通關了,那麼主界面隱藏封魔錄按鈕。

3、由於玩家已經完成煉獄挑戰的6關,那麼轉換到封魔錄,對應的進度,也應該是6關都通過了,那麼主界面應該隱藏封魔錄。

bug情況是:有個玩家通關了煉獄6關,但是在主界面出現了封魔錄的按鈕。當時不知道原因是什麼,怕玩家可以再打一次煉獄挑戰,拿6個關卡的獎勵,於是通宵查了一晚上,分析了所有代碼,最終還是一無所獲。困惑了一晚上,後來靈光一閃,用延遲工具設置了網絡延遲,終於復現了bug。

最終的原因是:服務器的數據發包晚了,客戶端在沒有完全收到服務器數據的時候,就去初始化主鈕界面的封魔錄按鈕;並且服務器的數據包在隨後下發到客戶端時,由於客戶端界面已經初始化完成,未根據服務器數據再刷新一下界面,丟棄了本次服務器的數據,最終導致BUG。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章