字体:大 中 小
护眼
关灯
上一页
目录
下一页
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标记就永远不会崩溃。 但现在这四台主控电脑都启动不了了。其实它们并非是真的起不来。 而是它们只要一启动,就会很快收到一条带有这种罕见属性的通知,然后又崩溃而自动重启了。 反复重启后,它们会自动进入永久关闭状态,需要手工开机。 换句
上一页
目录
下一页