调用plt.plot()致Windows蓝屏,求助排查WHEA_UNCORRECTABLE_ERROR故障
针对Windows蓝屏(WHEA_UNCORRECTABLE_ERROR)的排查与修复建议
先理清楚你当前的核心信息:
- 蓝屏错误代码:
0x124 (WHEA_UNCORRECTABLE_ERROR),这是Windows硬件错误架构(WHEA)报告的不可恢复错误,但你已经通过CPU、内存、GPU的压力测试排除了硬件本身故障,且Ubuntu下运行代码完全正常——这说明问题不在硬件,而是Windows系统层面的兼容性、驱动或符号文件问题。 nt_wrong_symbols.sys这个模块名是关键线索:它不是Windows原生系统文件,更像是符号文件加载失败后的占位符,而非真正引发故障的驱动。
接下来按优先级尝试这些解决方案:
1. 定位真实的故障模块
WhoCrashed因为缺少正确的符号文件,才显示了nt_wrong_symbols.sys这个无效名称。我们需要加载官方符号来找到真正的问题源:
- 安装WinDbg(微软商店直接搜索即可下载),打开后导入你的小转储文件。
- 点击
File > Symbol File Path,输入官方符号路径:srv*C:\Symbols*https://msdl.microsoft.com/download/symbols - 等待符号加载完成后,运行命令
!analyze -v,就能看到真正引发蓝屏的驱动或模块名称,这是后续排查的核心依据。
2. 修复Windows系统文件与组件
系统文件损坏也可能导致这类硬件错误误报:
- 以管理员身份打开命令提示符,依次执行:
扫描并修复系统文件;完成后再运行:sfc /scannow
修复系统镜像的完整性。DISM /Online /Cleanup-Image /RestoreHealth
3. 排查代码与Windows的兼容性差异
既然Ubuntu下没问题,代码逻辑大概率没问题,重点看Windows专属的部分:
- 检查代码是否调用了Windows独有的API、内核级接口,或者依赖的第三方库在Windows下存在版本bug?比如直接访问硬件寄存器、使用未公开的系统调用,这类操作在Linux下有不同的实现,Windows下可能触发硬件错误检测。
- 确认编译选项是否适配你的Windows系统:比如是否针对x64编译(如果你的系统是64位),有没有开启可能导致兼容性问题的激进CPU优化选项。
4. 更新主板与电源相关驱动
WHEA错误偶尔会和主板芯片组、电源管理驱动有关,哪怕你已经测试了GPU:
- 前往主板厂商官网,下载安装最新的芯片组驱动、BIOS固件(BIOS更新要注意备份,严格按厂商步骤操作)。
- 调整Windows电源计划:切换到“高性能”模式,关闭CPU节能、PCIe电源管理等可能干扰硬件运行的选项。
5. 测试干净环境下的运行情况
如果上面的步骤都没解决,试试在纯净Windows虚拟机里运行代码:
- 只安装必要的驱动和代码依赖库,不装其他第三方软件。如果这里不蓝屏,说明你当前系统存在第三方软件、驱动冲突,需要逐一排查最近安装的程序或驱动。
内容的提问来源于stack exchange,提问作者CoMartel
相关产品推荐
相关产品推荐

