微软老将揭秘:系统软件崩溃不一定是Windows的锅
番茄系统家园 · 2026-04-24 10:30:29
本站4月24日消息,微软资深工程师Raymond Chen分享了一起文件资源管理器崩溃事件的调查过程。
最终结论出人意料,崩溃的根源不是Windows自身的Bug,而是一个第三方卸载程序写错了函数调用约定。
Chen在Windows开发团队工作了数十年,经常在博客中分享这类技术故事,此次事件的起因是文件资源管理器崩溃率出现异常上升。
在检查崩溃转储文件后,发现了一个关键线索,崩溃的不是64位版本的文件资源管理器,而是32位版本。
在64位Windows中,微软出于兼容性考虑保留了32位的文件资源管理器(位于C:/Windows/SysWOW64目录下),普通用户操作通常不会触发它,只有旧的32位应用程序才会调用。
因此,32位文件资源管理器崩溃,几乎可以确定是某个第三方32位程序在以非标准方式与Windows交互。
进一步调查锁定了罪魁祸首:一款第三方软件的卸载程序,该卸载程序在执行文件清理操作时,使用了错误的函数调用约定来从栈中弹出参数。
由于操作持续失败并不断重试,它一直在从栈中弹出参数,直到栈指针移动到了正在执行的调用代码区域,栈被"吃光"了,内存遭到破坏,文件资源管理器随之崩溃。
他还表示,程序留下一地狼藉,“以至于Windows团队认为这是由Windows本身的错误引起的”。

猜你喜欢
最新应用
热门应用

