深色模式
常见报错解读
本章你将学到:拿到一张报错截图后按什么顺序看(谁报的、错误码、文件名、关键词);Windows 上最常见的二十来种报错各自的真实含义、指向哪一层、下一步做什么;通用的"网络错误 / 超时"提示怎么进一步区分;蓝屏怎么让用户记下停止代码、每个代码大致指向什么、为什么蓝屏几乎不是应用程序造成的;错误码怎么搜;以及最后一张"报错关键词 → 层面 → 排查页"速查表。
什么时候用得上:用户发来任何带文字的报错截图的时候。报错是用户能给你的最精确的证据——它比"打不开"精确一百倍,前提是你会读。
看报错的方法
拿到报错截图,不要先看正文,按这个顺序:
第一步:标题栏——是谁在报错
报错窗口最上面一行是标题栏,写着弹出这个窗口的程序。这决定了问题在哪一层:
| 标题栏 | 说明 |
|---|---|
| 我们客户端 / 游戏的名字 | 程序自己检测到问题并报出来,正文是程序自己写的提示,通常比较具体 |
| 程序名 + "- 应用程序错误" | Windows 替程序报的,说明程序崩了或启动失败,正文是 Windows 的标准文案(0xc000007b 之类) |
| "Microsoft Visual C++ Runtime Library" | 运行库层面的错误 |
| "Windows 安全中心" / 杀软名 | 安全软件拦截 |
| "用户账户控制" | UAC 权限提示,不是报错 |
| "Windows 已保护你的电脑"(蓝色全屏) | SmartScreen |
| "文件资源管理器" / "文件夹访问被拒绝" / "正在使用的文件" | 文件操作层面 |
| 浏览器名 | 网页层面,和客户端无关或客户端的 WebView2 层 |
| Steam | Steam 层面,见 Steam |
| 没有标题栏、全屏蓝底白字 | 蓝屏,见下面 |
第二步:错误码——有没有一串数字
错误码是最可搜索、最精确的信息。形式:
| 形式 | 例子 | 说明 |
|---|---|---|
0x 开头 8 位十六进制 | 0xc000007b、0x80070005 | Windows 系统错误码,全球统一,直接搜 |
| 纯数字 | 错误 5、错误 32、错误 1053 | Win32 错误码:5 = 拒绝访问,32 = 文件被占用,1053 = 服务未响应 |
| 全大写带下划线 | IRQL_NOT_LESS_OR_EQUAL | 蓝屏停止代码 |
| 程序自定义 | "错误代码: 10023" | 我们的程序或 Steam 自己定义的,查内部知识库 |
| HTTP 状态码 | 403、404、502、503、504 | 网络请求层面:403 拒绝、404 没找到、5xx 服务器侧 |
第三步:文件名——有没有提到某个文件
.dll、.exe、.sys、路径。有 dll 名 → 大概率运行库或文件缺失(见 运行库);有 .sys 名 → 驱动;有路径 → 看路径特征(在哪个盘、有没有中文、在系统目录还是用户目录,见 系统基础)。
第四步:关键词
| 关键词 | 指向 |
|---|---|
| 拒绝访问 / 权限 / 需要提升 / Access Denied | 权限 |
| 找不到 / 不存在 / 无法找到 / not found / missing | 文件缺失 / 路径错误 |
| 正在使用 / 被占用 / 另一个进程 / in use | 文件被锁 |
| 已在运行 / 已经打开 / already running | 进程残留 |
| 无法连接 / 超时 / 网络 / 服务器 / timeout / connection | 网络(要进一步区分,见下面) |
| 内存 / memory / out of memory | 内存不足或程序内存错误 |
| 磁盘 / 空间 / disk / space | 磁盘空间或磁盘错误 |
| 驱动 / driver | 驱动 |
| 版本 / 不兼容 / 不支持 / version | 版本要求 |
| 签名 / 证书 / signature / certificate | 数字签名 / 系统时间 / 安全启动 |
| 校验 / 完整性 / 损坏 / corrupt / verify | 文件损坏 |
大白话
报错像医院的化验单。标题栏是哪个科开的单,错误码是检验项目编号,文件名是异常指标,关键词是医生的备注。先看是哪个科,再看编号,最后才读备注——顺序反了容易被备注里的措辞带偏。
注意
让用户截报错框时必须包含标题栏,而且不要用手机拍屏。很多报错框的关键信息在标题(谁报的)和最后一行(错误码),用户只拍中间一段文字就丢了一半信息。看不清就让他重截,见 指导小白截图。
常见报错逐条解读
每条按"含义 / 指向哪一层 / 下一步"给出。
拒绝访问 / 权限不足 / 错误 5 / 0x80070005
含义:程序想读、写、删某个文件或注册表项,或者想做某个系统操作,但当前权限不允许。
指向:权限层。具体可能是:没以管理员运行;目标在系统目录;文件被杀软锁住;文件从别的系统拷来带着旧权限;标准用户账户;网吧策略。
下一步:看报错里的路径 → 在系统目录(Program Files / Windows / ProgramData)就试管理员运行 → 不在系统目录就查杀软锁定和文件权限(属性 → 安全)→ 都不是就看账户类型和是否网吧。详见 系统基础、磁盘与文件。
找不到指定的文件 / 路径 / 错误 2 / 错误 3
含义:程序按某个路径找文件,那个位置没有这个文件(错误 2)或没有这个文件夹(错误 3)。
指向:文件层。可能是:文件被杀软删了 / 隔离了;安装不完整;程序记录的路径过期了(用户移动 / 重命名了文件夹、换了盘符、U 盘拔了);路径里有特殊字符导致解析错;快捷方式指向已删除的目标。
下一步:报错里有具体路径就让用户去那个位置看文件在不在 → 不在就查杀软隔离区(见 安全软件与拦截)和"最近有没有移动 / 重命名 / 换盘" → 校验 / 修复程序补文件。桌面图标变白色空白图标是"快捷方式目标不存在"的典型表现。
文件正在被另一进程使用 / 错误 32 / 错误 33
含义:有别的程序开着这个文件,Windows 不允许两个程序同时改它。
指向:文件锁。占用者通常是:我们自己的残留进程、杀软扫描、云盘同步、explorer.exe 预览、用户没关的别的程序。
下一步:任务管理器看有没有我们的残留进程 → 资源监视器 CPU 标签"关联的句柄"搜文件名找占用者(见 资源监视器与事件查看器)→ 关掉占用者或真正重启。
应用程序已在运行 / 已经打开了一个实例
含义:程序检测到自己已经有一个副本在跑(通常用一个互斥锁),拒绝启动第二个。
指向:进程残留。上一次关闭没关干净(崩了但进程还在、后台服务还在、托盘里最小化了)。
下一步:任务管理器进程页搜我们的进程名 → 有就结束(只结束我们自己的)→ 再启动。托盘里看有没有最小化的图标。如果任务管理器里没有但仍报这个,可能是残留的锁文件或注册表标记,真正重启一次。
应用程序无法正常启动 (0xc000007b)
含义:加载的某个 dll 位数不对(32/64 混了)或文件损坏。不是缺文件。
指向:运行库 / 文件完整性。最常见起因是用户手动往 System32 或程序目录放过 dll。
下一步:问"有没有自己下载过 dll 放到哪里" → 重装 VC++ 2015–2022 x86 + x64 → 校验程序 → sfc /scannow → 重装显卡驱动。详见 运行库。
应用程序无法正常启动 (0xc0000142)
含义:某个 dll 的初始化函数失败。dll 找到了、位数也对,但它启动时自己出错。
指向:几乎总是注入——杀软、输入法、覆盖层、网吧软件的 dll 被塞进程序里后挂了。其次是权限或系统缺更新。
下一步:退出杀软验证 → 切系统自带输入法 → 关覆盖层 → 干净启动(见 服务、启动项与后台进程)→ 管理员运行。重装运行库基本无效。 详见 运行库。
0xc0000005(访问冲突)
含义:程序读写了一块它无权访问的内存。这是程序运行中崩溃最常见的异常代码,出现在事件 1000 的"异常代码"字段或报错框里("异常未知软件异常 (0xc0000005)")。
指向:本身不指向任何一层,要看崩在哪个模块(事件 1000 的错误模块名称,见 资源监视器与事件查看器):
| 错误模块 | 指向 |
|---|---|
| 我们自己的 exe / dll | 程序 bug 或数据损坏,记录版本和偏移量升级 |
| 显卡驱动 dll | 驱动问题,见 设备管理器与驱动 |
| 杀软 / 覆盖层 / 输入法 dll | 注入冲突,见 常见软件冲突 |
| ntdll / KERNELBASE | 信息量低,结合是否有注入和内存状态 |
| unknown / 随机地址 | 内存损坏:注入、内存条故障、超频 |
下一步:拿事件 1000 → 读错误模块 → 按上表分流。如果错误模块随机、多个不同程序都崩 0xc0000005,跑内存诊断(见 内存)。
0x80070057(参数错误)
含义:"参数不正确"。一个非常泛的错误码,表示某个操作收到了它不接受的输入。
指向:视场景:
| 场景 | 常见原因 |
|---|---|
| 复制 / 下载大文件到 U 盘 / 移动硬盘时 | FAT32 单文件 4 GB 上限,见 磁盘与文件 |
| Windows 更新时 | 更新组件损坏 |
| 安装程序时 | 目标路径有特殊字符、注册表损坏 |
| 格式化时 | 分区表问题 |
下一步:先看场景。下载 / 复制类先查目标盘文件系统。
0x8007000e(内存不足)/ 内存不足 / Out of memory
含义:程序申请内存失败——物理内存 + 页面文件都不够了,或 32 位程序撞到了 4 GB 上限,或"已提交"上限到了。
指向:内存层。可能是内存真的小(8 GB 以下)、后台占太多、页面文件被关或设太小、程序内存泄漏、32 位程序的固有限制。
下一步:任务管理器性能页看内存"使用中"和"已提交"(见 任务管理器)→ 关后台 → 看虚拟内存设置(sysdm.cpl → 高级 → 性能设置 → 高级 → 虚拟内存,是不是被设成"无分页文件")→ 详见 内存。
由于找不到 xxx.dll,无法继续执行代码
含义:确实缺文件。
指向:dll 名在运行库表里 → 运行库;不在 → 程序文件被删(杀软)或安装不完整。
下一步:对照 运行库 的 dll 表装对应版本 x86 + x64;不在表里查杀软隔离区并校验程序。不要下单个 dll。
应用程序的并行配置不正确
含义:VC++ 2005 / 2008 的并行程序集缺失或损坏。
指向:运行库(老版本)。
下一步:装 VC++ 2005 和 2008 x86 + x64;事件查看器看 SideBySide 事件的具体内容。详见 运行库。
Windows 已保护你的电脑
含义:SmartScreen 拦截了一个信誉不足的程序。
指向:安全层(拦截),不是程序有问题。
下一步:看弹窗里的"发布者"——是我们 → "更多信息 → 仍要运行";"未知发布者" → 先确认下载来源是官方,再决定。详见 安全软件与拦截。
此应用无法在你的电脑上运行
含义:程序的架构和系统不匹配(64 位程序在 32 位系统、x86 程序在 ARM 无法模拟的情况),或文件损坏到不是有效的可执行文件,或被组策略 / 家长控制阻止。
指向:系统版本 / 文件完整性。
下一步:确认系统位数(见 系统基础)→ 重新下载安装包(对比文件大小)→ 查杀软是否篡改了文件。
显示驱动程序已停止响应并且已恢复
含义:显卡驱动卡住超过 2 秒,Windows 强制重置了它(TDR)。表现为画面卡住几秒、黑一下、然后恢复(游戏可能崩也可能不崩)。
指向:显卡驱动 / 显卡硬件 / 显卡过热 / 显卡供电不足 / 超频。事件查看器系统日志会有 Display 4101。
下一步:驱动版本和安装时间 → 回滚或官网干净安装(见 设备管理器与驱动)→ 显卡温度(见 散热与电源)→ 是否超频 → 反复出现且驱动排除则怀疑显卡硬件。
磁盘空间不足
含义:目标盘没有足够空间写入。
指向:磁盘。但有两个陷阱:FAT32 的 4 GB 限制也会报这个;下载需要的临时空间比文件本身大(解压 + 校验),"刚好够"是不够的。
下一步:"此电脑"截图看每个盘的剩余空间 → 目标盘文件系统 → 清理或换盘。详见 磁盘与文件。
无法连接到服务器 / 网络错误 / 连接超时 / 请检查网络
含义:程序尝试连某个地址,没成功。这是最泛的一类提示,程序通常不告诉你是哪一步失败的。
指向:可能是下面任何一层,要靠追问和命令区分:
| 进一步问 / 看 | 结果 | 说明 |
|---|---|---|
| 浏览器能开网页吗? | 不能 | 整机没网:网线 / WiFi / 路由器 / 宽带 |
| 同上 | 能 | 只有我们连不上,往下 |
| 系统时间对吗?(右下角) | 差几分钟以上 | https 证书校验失败,表现为"连接失败"。改对时间 |
开着加速器 / VPN / 代理吗?inetcpl.cpl 代理设置、设置 → 网络 → 代理 | 有 | 代理残留 / 加速器接管,见 代理、VPN 与加速器 |
ping 平台域名 | "找不到主机" | DNS 解析失败,见 DNS 与 CDN |
| 同上 | 解析出 IP 但超时 | 链路问题或服务器不响应 ping,配合 tracert |
nslookup 域名 和 nslookup 域名 223.5.5.5 | 结果不同 | DNS 劫持 / 污染 |
| 防火墙 / 杀软联网管控 | 有拦截记录或规则 | 见 安全软件与拦截 |
netstat -ano 我们进程有大量 SYN_SENT | 是 | 发出去了但没回应,被拦或链路不通 |
| 换手机热点试 | 好了 | 家里网络的问题 |
| 同上 | 依旧 | 电脑本身(代理 / 防火墙 / DNS 设置 / hosts) |
| 其他用户此刻也报? | 是 | 服务器 / 平台侧,见 故障地图 |
注意
"网络错误"不等于"用户网络有问题"。系统时间不对、代理残留、DNS 被改、防火墙拦截、服务器侧故障,都会显示成"网络错误"。先让用户开个网页——能开就说明不是"没网",要往细处查;直接让用户"重启路由器"是最常见的浪费时间。
其他常见的
| 报错 | 含义 | 指向 | 下一步 |
|---|---|---|---|
| 错误 1053 / 1067 / 1068:"服务没有及时响应""进程意外终止""依赖服务无法启动" | 某个服务起不来 | 服务层 | services.msc 看是哪个服务、依赖的服务是否被禁;事件查看器 7000 / 7009,见 服务、启动项与后台进程 |
| 0x80070002 | 找不到文件(更新 / 安装场景) | 文件 | 类似"找不到指定文件" |
| 0x80070020 | 文件被占用(更新 / 安装场景) | 文件锁 | 类似"正在被使用" |
| 0x80070643 | 安装失败(泛) | 安装 | 看安装日志;常见于 .NET / 运行库安装,重启后重试 |
| 0x800f081f / 0x800f0906 / 0x800f0954 | 找不到源文件(DISM / .NET 3.5) | 系统更新组件 | 需要联网和更新服务正常,见 运行库 |
| 0x80004005 | 未指定的错误(泛) | 泛 | 看场景,多为权限或文件 |
| 0x80240017 | 运行库安装:系统缺更新 | 系统 | 装系统更新 |
| 0xc0000409 | 栈缓冲区溢出 | 程序 / 注入 | 同 0xc0000005 流程 |
| 0xc000001d | 非法指令 | CPU 不支持 / 文件损坏 | 老 CPU 跑新程序;重下安装包 |
| 0xc0000135 / 0xc0000139 | 缺 dll / dll 版本旧 | 运行库 | 装最新 VC++ |
| 0xc0000022 | 拒绝访问(dll 加载时) | 权限 | dll 文件权限被改,管理员运行;sfc |
| 0xc0000017 | 内存不足(启动时) | 内存 | 同"内存不足" |
| "Microsoft Visual C++ Runtime Library: Runtime Error! R6025 / R6034 / R6016" | 运行库运行时错误 | 运行库 / 程序 | R6034 常是 dll 清单冲突(有人放了错误的 msvcr 到程序目录);重装运行库、校验程序 |
| "Steam 必须在运行中才能玩此游戏" / "Steam 未运行" | 游戏找不到 Steam | Steam | 见 Steam |
| "无法验证游戏文件 / 内容文件锁定" | Steam 校验时文件被占 | 文件锁 / Steam | 见 Steam |
| "Failed to create D3D device" / "无法创建 Direct3D 设备" | 显卡设备初始化失败 | 显卡驱动 / 分辩率设置 / 双显卡 | 驱动重装;删游戏视频配置;双显卡首选项,见 CS2 / CSGO |
| "Insufficient memory to initialize" | 显存 / 内存不足 | 内存 / 显存 | 降画质;看显存 |
| "Engine Error: Out of memory or address space" | 游戏内存不足 | 内存 | 同"内存不足" |
| "此程序被组策略阻止" | 策略 / 管理软件 | 网吧 / 公司 | 见 网吧机器的特点 |
| "Windows 找不到文件 xxx,请确定文件名是否正确" | 快捷方式指向不存在的文件 | 文件 | 目标被删 / 移动;图标变白 |
| "系统找不到指定的路径"(命令行) | 命令里的路径不存在 | 输入 | 检查用户输入 |
| "'xxx' 不是内部或外部命令" | 命令找不到 | PATH / 输入 | 见 系统基础 |
| "请求的操作需要提升" | 需要管理员 | 权限 | 管理员窗口,见 常用命令 |
蓝屏
蓝屏是什么
蓝屏(BSOD,"你的设备遇到问题,需要重新启动")是 Windows 内核崩溃。它和程序崩溃的本质区别:程序崩溃只死一个程序,蓝屏是整个系统死掉必须重启。
蓝屏几乎都不是普通应用程序能直接造成的。 普通程序运行在用户层,它再怎么出错也只能把自己弄死,碰不到内核。能造成蓝屏的只有运行在内核层的东西:驱动(显卡、网卡、声卡、存储、USB、反作弊、杀软、虚拟网卡、外设软件)、硬件(内存、CPU、主板、电源、硬盘)、系统本身(极少)。
这意味着:如果用户"玩我们的游戏时蓝屏",原因不是游戏本身,而是某个驱动或硬件在游戏的高负载下暴露了问题。游戏是触发条件,不是原因。但要注意——我们的反作弊 R0Guard 有驱动,运行在内核层。如果蓝屏提到的文件是我们的驱动,或者停止代码指向反作弊和杀软的冲突,那和我们有关,要升级。
大白话
程序是商场里的租户,租户店里出事最多自己关门。蓝屏是整个商场停电——只有动了大楼配电系统(驱动)或者大楼本身有问题(硬件)才会这样。玩游戏时停电,是因为游戏这个租户开了很多灯(高负载),让本来就有问题的电路跳闸了。
让用户记下什么
蓝屏界面通常几秒到几十秒后自动重启,用户来不及看。要教他:
- 手机拍照。蓝屏出现时立刻用手机拍下整个屏幕。这是最可靠的。
- 如果没拍到:事件查看器 → Windows 日志 → 系统 → 找"BugCheck"来源、事件 ID 1001 的记录,内容里有"错误检查 0x000000xx"(停止代码的数字形式)和"参数"。同时会有 Kernel-Power 41。见 资源监视器与事件查看器。
- 可靠性监视器里也会有红叉"Windows 故障 / 关机异常",点开有停止代码。
C:\Windows\Minidump\下会生成.dmp文件(如果系统设置了生成小转储),可以打包给技术。
蓝屏界面上要记的三样:
| 位置 | 内容 | 例子 |
|---|---|---|
| "停止代码:" 后面 | 停止代码(全大写带下划线) | IRQL_NOT_LESS_OR_EQUAL |
| "失败的操作:" 后面(不一定有) | 导致蓝屏的驱动文件名,.sys 结尾 | nvlddmkm.sys |
| 二维码下面或右侧 | 百分比进度(无用)和收集信息提示 |
.sys 文件名比停止代码更有价值——它直接指出是谁的驱动。
常见停止代码及大致指向
| 停止代码 | 大致指向 | 说明 |
|---|---|---|
| IRQL_NOT_LESS_OR_EQUAL | 驱动(最常见),其次内存 | 某个驱动在错误的时机访问了内存。看 .sys 名。没有 .sys 名时怀疑内存条 |
| PAGE_FAULT_IN_NONPAGED_AREA | 内存或驱动 | 访问了不该访问的内存页。内存条故障、内存超频(XMP 不稳)、驱动 bug、硬盘(页面文件所在盘)坏 |
| KMODE_EXCEPTION_NOT_HANDLED | 驱动,其次内存 | 内核模式下的异常没被处理。看 .sys 名 |
| SYSTEM_SERVICE_EXCEPTION | 驱动或系统文件 | 系统调用中出异常。常见于显卡驱动、杀软驱动、反作弊驱动、虚拟网卡驱动。看 .sys 名 |
| VIDEO_TDR_FAILURE / VIDEO_SCHEDULER_INTERNAL_ERROR / VIDEO_DXGKRNL_FATAL_ERROR | 显卡驱动 / 显卡硬件 / 显卡过热 / 供电 | 常带 nvlddmkm.sys / atikmdag.sys / amdkmdag.sys / igdkmd64.sys。见 设备管理器与驱动 |
| WHEA_UNCORRECTABLE_ERROR | 硬件:CPU、内存、主板、供电、过热 | 硬件报告了无法修正的错误。超频(包括 XMP / PBO)、电源不足、CPU 过热、主板问题。见 硬件总览、散热与电源 |
| DPC_WATCHDOG_VIOLATION | 驱动(存储 / 网卡 / USB)或硬盘 | 某个驱动占用太久没响应。常见于 SSD 固件 / 驱动(尤其老 SSD 用 Windows 默认 AHCI 驱动)、网卡驱动、USB 设备 |
| KERNEL_SECURITY_CHECK_FAILURE | 驱动或内存 | 内核数据结构损坏。驱动 bug、内存故障、超频 |
| CRITICAL_PROCESS_DIED | 系统关键进程死了 | 系统文件损坏、硬盘故障、极少数驱动 |
| UNEXPECTED_KERNEL_MODE_TRAP | 硬件(CPU / 内存 / 过热)或驱动 | 超频、内存、CPU 过热 |
| MEMORY_MANAGEMENT | 内存或驱动 | 内存条、内存超频、驱动 |
| SYSTEM_THREAD_EXCEPTION_NOT_HANDLED | 驱动 | 看 .sys 名,常见显卡 / 网卡 / 杀软 |
| DRIVER_IRQL_NOT_LESS_OR_EQUAL | 驱动(名字里就写了) | 看 .sys 名。常见网卡驱动、虚拟网卡(加速器)、杀软 |
| DRIVER_POWER_STATE_FAILURE | 驱动在睡眠 / 唤醒时失败 | 常见网卡 / 显卡 / USB 驱动,和睡眠唤醒有关,见 系统更新与电源 |
| BAD_POOL_HEADER / BAD_POOL_CALLER | 驱动内存管理错误 | 常见杀软驱动、虚拟网卡、反作弊驱动 |
| NTFS_FILE_SYSTEM / FAT_FILE_SYSTEM | 硬盘 / 文件系统 | 硬盘坏、文件系统损坏,chkdsk,见 磁盘与文件 |
| INACCESSIBLE_BOOT_DEVICE | 系统盘找不到 | 存储驱动 / 硬盘 / BIOS 模式改了,进不了系统 |
| CLOCK_WATCHDOG_TIMEOUT | CPU / 主板 | CPU 核心没响应。超频、CPU 故障、主板 BIOS |
| HYPERVISOR_ERROR | 虚拟化层 | Hyper-V / 内核隔离 / 某些反作弊或安全软件与虚拟化冲突 |
常见 .sys 文件名对照
| .sys 文件 | 属于 |
|---|---|
| nvlddmkm.sys | NVIDIA 显卡驱动 |
| atikmdag.sys / amdkmdag.sys / atikmpag.sys | AMD 显卡驱动 |
| igdkmd64.sys / igdkmdn64.sys | Intel 显卡驱动 |
| ntoskrnl.exe / ntkrnlmp.exe | Windows 内核本身——不是原因,只是崩在这里,真正原因是别的驱动或内存 |
| win32k.sys / win32kbase.sys / win32kfull.sys | Windows 图形子系统——同上,多是驱动或内存 |
| ndis.sys / tcpip.sys / netio.sys / afd.sys | Windows 网络栈——多是网卡驱动或虚拟网卡 / 加速器驱动引起 |
| rt640x64.sys / rtwlane.sys / rtwlanu.sys | Realtek 有线 / 无线网卡 |
| e1dexpress.sys / e2fexpress.sys / Netwtw*.sys | Intel 有线 / 无线网卡 |
| tap0901.sys / tapwindows6.sys / wintun.sys / wireguard.sys | 加速器 / VPN 虚拟网卡 |
| storahci.sys / stornvme.sys / iaStorAC.sys / iaStorVD.sys | 存储控制器(SATA / NVMe / Intel RST) |
| usbxhci.sys / usbhub3.sys / usbport.sys | USB 控制器 |
| hal.dll | 硬件抽象层——多是硬件或 BIOS |
| fltmgr.sys | 文件系统过滤管理器——多是杀软 / 反作弊的文件过滤驱动引起 |
| 360xxx.sys / hr*.sys / TS*.sys / QQPC*.sys / klif.sys / mfe*.sys / avg*.sys | 各家杀软驱动(360、火绒、腾讯、卡巴、McAfee、AVG) |
| vgk.sys | Riot Vanguard(另一个反作弊) |
| EasyAntiCheat.sys / BEDaisy.sys | EasyAntiCheat / BattlEye(其他反作弊) |
| 我们反作弊的驱动名 | R0Guard,和我们有关,升级 |
| dxgkrnl.sys / dxgmms2.sys | DirectX 内核——多是显卡驱动 |
| ks.sys / portcls.sys / RTKVHD64.sys | 音频(Realtek 声卡驱动) |
| 外设软件的 .sys(LGxxx、rzxxx、CorsairXXX) | 罗技 / 雷蛇 / 海盗船外设软件 |
待技术确认
R0Guard 反作弊驱动的确切文件名、以及已知的和哪些杀软 / 其他反作弊驱动存在冲突,以技术同事发布的为准。用户蓝屏时提到我们驱动的文件名,一律收集 Minidump 升级。
蓝屏排查思路
几条通用判断:
- 蓝屏只在玩游戏时出现,桌面从不 → 高负载暴露的问题:显卡驱动、显卡温度、电源功率不足、内存超频不稳、CPU 过热。不是游戏的 bug。
- 蓝屏随机出现,和在干什么无关 → 内存条、硬盘、主板、驱动 bug。
- 蓝屏在睡眠 / 唤醒时 → DRIVER_POWER_STATE_FAILURE 类,网卡 / 显卡 / USB 驱动。
- 蓝屏从某天开始 → 可靠性监视器看那天装了什么(驱动更新、Windows 更新、新软件)。
- 反复出现不同的停止代码 → 硬件(内存最常见)而不是某一个驱动。
注意
蓝屏后 Windows 有时会提示"正在收集错误信息"到 100% 后重启,让用户等它完成,不要强制断电,否则 Minidump 生成不了。另外,蓝屏后自动重启进入"自动修复"或"启动修复"循环的情况超出客服处理范围,建议专业维修。
禁止
蓝屏排查中不要让用户:进 BIOS 改任何设置(除了让他"关闭超频 / XMP"这种由用户自己判断能否操作的事,且只建议不指导)、用驱动程序验证器(verifier)、删除或替换 .sys 文件、禁用内核隔离或安全启动、用"蓝屏修复工具"。蓝屏涉及的都是内核层,客服的工作是收集停止代码、.sys 名、Minidump、时间线,判断大方向,然后升级或建议专业维修。
错误码怎么搜
- 把
0x码原样搜,比如搜0xc000007b,不要搜"应用程序无法正常启动"(太泛)。 - 搜停止代码全名,如
DPC_WATCHDOG_VIOLATION,可以加上 .sys 名,如DPC_WATCHDOG_VIOLATION storahci.sys。 - 搜 dll 名 + "找不到",或直接搜 dll 名看它属于哪个运行库。
- 搜错误码 + 场景,如
0x80070057 复制 U盘。 - 优先看微软官方文档、知名技术站点的结果;不要把搜到的"一键修复工具""dll 下载站""注册表修复脚本"转给用户。
- 我们程序自定义的错误码(不是 0x 开头的)查内部知识库,不要外搜。
常见误区
- 看正文不看标题栏。 谁报的决定了在哪一层。
- 看到"网络错误"就让用户重启路由器。 先让他开个网页,再分层。
- 看到"内存不足"就说内存条不够。 看已提交、看虚拟内存设置、看是不是 32 位程序。
- 看到 dll 名就让用户下 dll。 装运行库,永远。
- 0xc0000142 重装运行库。 无效,是注入。
- 蓝屏就说"游戏有 bug"或"电脑坏了"。 收集停止代码和 .sys 名,看指向。
- 蓝屏里看到 ntoskrnl.exe 就说系统坏了。 它是崩溃地点不是原因。
- 让用户手机拍屏后将就着看。 关键信息在标题栏和最后一行,看不清就重截。
- 不搜错误码。 0x 码是全球统一的,搜一下往往直接有答案。
报错关键词 → 层面 → 排查页 速查表
| 报错关键词 / 错误码 | 层面 | 排查页 |
|---|---|---|
| 拒绝访问、权限、错误 5、0x80070005、请求的操作需要提升 | 权限 | 系统基础、无法启动 |
| 找不到指定的文件 / 路径、错误 2 / 3、0x80070002、图标变白 | 文件缺失 / 路径 | 磁盘与文件、安全软件与拦截 |
| 正在使用、被占用、错误 32、0x80070020 | 文件锁 | 资源监视器与事件查看器、磁盘与文件 |
| 已在运行 | 进程残留 | 任务管理器 |
| 0xc000007b | 运行库 / 文件完整性 | 运行库 |
| 0xc0000142 | 注入 / 冲突 | 运行库、常见软件冲突 |
| 0xc0000005、0xc0000409 | 程序崩溃,看错误模块 | 资源监视器与事件查看器、崩溃 / 闪退 |
| 找不到 xxx.dll、0xc0000135、0xc0000139、并行配置、R6034 | 运行库 | 运行库 |
| 0x80070057 参数错误(复制 / 下载) | FAT32 4 GB | 磁盘与文件、下载慢 / 失败 |
| 内存不足、0x8007000e、0xc0000017、Out of memory | 内存 / 虚拟内存 | 内存、任务管理器 |
| 磁盘空间不足 | 磁盘空间 / FAT32 | 磁盘与文件 |
| Windows 已保护你的电脑 | SmartScreen | 安全软件与拦截 |
| 此应用无法在你的电脑上运行 | 系统位数 / 文件损坏 | 系统基础 |
| 显示驱动程序已停止响应、Display 4101、VIDEO_TDR_FAILURE | 显卡驱动 / 硬件 | 设备管理器与驱动、崩溃 / 闪退 |
| Failed to create D3D device | 显卡驱动 / 双显卡 / 分辨率 | CS2 / CSGO、设备管理器与驱动 |
| 无法连接、网络错误、超时 | 需分层:整机网络 / 时间 / 代理 / DNS / 防火墙 / 服务器 | 登录 / 连接失败、网络排查工具 |
| 找不到主机、DNS、解析 | DNS | DNS 与 CDN |
| 403 / 404 / 5xx | 服务端 / CDN | 故障地图、登录 / 连接失败 |
| 错误 1053 / 1067 / 1068、服务无法启动 | 服务 | 服务、启动项与后台进程、反作弊(R0Guard) |
| 驱动加载失败、签名、代码 52 | 驱动签名 / 安全启动 / 杀软拦 | 反作弊(R0Guard)、设备管理器与驱动 |
| 校验失败、文件损坏、完整性 | 磁盘 / 杀软 / 下载 | 游戏文件与下载、下载慢 / 失败 |
| Steam 未运行、Steam 相关 | Steam | Steam、Steam 与账号绑定 |
| 组策略阻止、管理员已阻止 | 网吧 / 公司策略 | 网吧机器的特点、网吧问题 |
| 0x800f081f、0x800f0906、0x80240017 | 系统更新组件 | 运行库、系统更新与电源 |
| 蓝屏 IRQL / KMODE / SYSTEM_SERVICE / DRIVER_* | 驱动 | 设备管理器与驱动 |
| 蓝屏 PAGE_FAULT / MEMORY_MANAGEMENT / KERNEL_SECURITY_CHECK | 内存 / 驱动 | 内存 |
| 蓝屏 WHEA / CLOCK_WATCHDOG / UNEXPECTED_KERNEL_MODE_TRAP | 硬件 / 超频 / 过热 | 硬件总览、散热与电源 |
| 蓝屏 DPC_WATCHDOG / NTFS_FILE_SYSTEM | 存储 / 网卡驱动 | 存储、磁盘与文件 |
| 蓝屏 .sys 是杀软 / 其他反作弊 | 内核层冲突 | 安全软件与拦截、反作弊通用知识 |
| 蓝屏 .sys 是我们的反作弊 | 升级 | 反作弊(R0Guard)、何时升级、如何升级 |
自检问题
- 拿到一张报错截图,按什么顺序看?为什么标题栏比正文重要?
- 0xc000007b、0xc0000142、"找不到 xxx.dll"三者的含义和第一步分别是什么?
- "0x80070057 参数错误"在"往 U 盘复制大文件"场景下最可能是什么原因?
- 用户报"网络错误",你会先问哪一个问题?然后怎么一层层分?
- 为什么蓝屏几乎不是应用程序造成的?"玩游戏时蓝屏"说明什么?什么情况下蓝屏和我们有关?
- 蓝屏要让用户记下哪三样东西?哪一样最有价值?如果没来得及看,去哪里找?
- IRQL_NOT_LESS_OR_EQUAL、PAGE_FAULT_IN_NONPAGED_AREA、VIDEO_TDR_FAILURE、WHEA_UNCORRECTABLE_ERROR 分别大致指向什么?
- 蓝屏里出现 ntoskrnl.exe 意味着系统坏了吗?