MS Excel 打开瞬间崩溃
记一次 Excel 打开后一瞬间崩溃、完全无法加载的处理过程。 设备环境:
- Win 7
- Office 2016
故障描述
用户尝试打开桌面上的 Excel 表格时,Excel 显示加载窗口然后瞬间崩溃,并给出一个错误提示:There was a problem sending the command to the program。
尝试直接打开 Excel 而不是从文件启动,一样崩溃。
解决过程
先尝试修复了一下,没有成功;
通过事件查看器发现,出现错误的模块是 kernelbase.dll,一度以为是系统坏了,毕竟是 Win7 系统。但是问了下 ChatGPT,他说「不一定是系统坏了。kernelbase.dll 出现在崩溃日志里其实很常见,但通常只是“承接异常”的模块,并不代表它本身有问题。」;
那就先不细究了,直接卸载掉重装,修复成功了。
然后第二天用户又找过来说,问题再次出现了。
远程一看确实复现,但每次都重装很愚蠢,必须找下原因。无意间撇到系统托盘中有 Cylance,打开看了下它屏蔽了一个名为 CHART.DLL 的文件,而它的路径是在 C:\Program Files (x86)\Microsoft Office\Office16\。把这个文件还原了下,问题就解决了。
回顾
前面提到过,出现故障的模块是 kernelbase.dll,另外 exception code 是 0xc06d007e,以下是ChatGPT 的解释
0xc06d007e本质对应:模块未找到 / DLL 加载失败(ERROR_MOD_NOT_FOUND)
也就是说: 👉 Excel 在启动过程中尝试加载某个 DLL 👉 但这个 DLL 不存在 / 被隔离 / 无法访问
而 Cylance 莫名其妙地拦截了这个文件,导致故障的复现。