zoukankan      html  css  js  c++  java
  • 关于一个“莫名其妙的Bug”

    最近手上的项目已经进入了联调阶段,由于是第一次接手这种联调的工作,心里还是有些许的紧张,考虑了N种失败的场景。

    不过,真正开始联调之后,虽然起步艰难,但后续发展还算平稳。当取得一个阶段性成就后甚至还有一丝丝小激动,眼下初期联调的工作已接近尾声,虽然突破了N多阻碍,但依旧不敢松懈,就在以为联调工作已经做的很充分的时候,

    出现了一个令我意想不到的“bug”。

    我发现服务端莫名其妙的多发送了N条指令,为了验证这一点,首先修改了日志记录,在新版日志的铁证面前,可以确定这些指令的确是服务端发出的。

    然后,我选择了断点查看了一下代码的执行,却只看到了一条指令的发出... ...

    这是什么诡异的问题?

    陷入迷茫的我选择了反复测试了几次,结果是一致的,指令的确是从服务端发出的...

    平时一直忽视的调试技巧在此时却显得无比的重要,好在忽然灵光涌现,采取了人工逆向追踪的方法,从最终发出指令的函数开始逆推,发现这实际上并不是bug,而是在某种情况下触发的一种正常的机制。

    这种机制在协议上并没有体现,也就是说没有文字资料,这个项目本身是基于另一个项目改造的,看来还是我当初阅读别人代码的时候不够仔细,没有理清业务的每一个细节。

    调试技巧也有明显的不足,之前学习的堆栈跟踪没有在实际项目中应用过,遇到问题居然完全没有想起这个方法。

    看来以后写项目之前务必要将业务全部理清,必要的时候应该以脑图进行记录...当程序员真难...

  • 相关阅读:
    centos7内核优化
    MYSQL存储过程,函数,光标
    牛客网计算机考研复试-KY10-球的半径和体积
    牛客网计算机考研复试-KY11-二叉树的遍历
    #include <graphics.h>的解决
    牛客网计算机考研复试-KY30-进制转换
    牛客网计算机考研复试-KY9-成绩排序
    牛客网计算机考研复试-KY8-整数拆分
    牛客网计算机考研复试-KY4-代理服务器
    牛客网计算机考研复试-KY5-反序输出
  • 原文地址:https://www.cnblogs.com/wxdmw/p/13895786.html
Copyright © 2011-2022 走看看