补天码农_095 不断崩溃的主控电脑 首页

字体:      护眼 关灯

上一页 目录 下一页

   095 不断崩溃的主控电脑 (第4/5页)

的。

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

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

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

    unsignedchar*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标记就永远不会崩溃。

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

    而是它们只要一启动,就会很快收到一条带有这种罕见属性的通知,然后又崩溃而自动重启了。

    反复重启后,它们会自动进入永久关闭状态,需要手工开机。

    换句
加入书签 我的书架

上一页 目录 下一页