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

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

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

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

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

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

    这是什么诡异的问题?

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

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

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

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

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

  • 相关阅读:
    zabbix实现原理及架构详解
    用Python玩转微信(一)
    你真的用好了Python的random模块吗?
    Authentication of Django
    Django admin 权威指南(一)
    常用查找数据结构及算法(Python实现)
    基于python的七种经典排序算法
    Django 1.10 中文文档------3.2.2 查询操作making queries
    “全能”选手—Django 1.10文档中文版Part4
    Django 1.10 中文文档------3.2.1 模型Models
  • 原文地址:https://www.cnblogs.com/wxdmw/p/13895786.html
Copyright © 2011-2022 走看看