返回

我能修复一切BUG

首页
关灯
护眼
字体:
095 不断崩溃的主控电脑
   存书签 书架管理 返回目录
夸人类史上最强程序员之一,但几万行代码丢到他面前,几秒钟内他是绝对看不明白的。

    不过没关系,最强BUG系统瞬间就把问题定位到了。所以他看到的直接就是出错的代码。

    还帮他把机器码逆成了C。

    //用来接受扩展缓冲区的内存

    unsigned char *ext_buf = NULL;

    //判断受到的通知是否有扩展属性

    if(notify-〉type | NT_TYPE_EXT)

    {

    //如果有,复制扩展缓冲区

    memcpy(ext_buf,

    notify-〉ext_buf,

    notify-〉ext_buf_len);

    }

    这是一个超级明显的bug。

    因为ext_buf的内存根本没分配,所以如果收到类型里带有扩展标记的扩展型通知,就会往空指针里复制数据,必崩溃无疑。

    但为什么船长说他开船以来还从来没有坏过呢?

    看起来原因很简单,因为这条船从来就没有收到过这种扩展类型的通知。

    只要收到的通知里类型都不带NT_TYPE_EXT标记就永远不会崩溃。

    但现在这四台主控电脑都启动不了了。其实它们并非是真的起不来。

    而是它们只要一启动,就会

095 不断崩溃的主控电脑(4/6)
上一页 目录 下一页