Windows 系统的用户应该都遇到过蓝屏的问题,大部分用户可能并不会关心其原因,大致上就是骂一下,垃圾微软,垃圾系统。一般来说一旦出现蓝屏问题,若不对其原因进行核查,大概率还会继续出现同样的问题。
实际上蓝屏的原因有很多,最常见的就是软件内部错误、驱动问题,其他情况遇到的蓝屏问题较少出现。整体上说 Windows 的兼容性已经做得很不错的,毕竟它兼容着世界上种类最多的硬件,甚至还有很多年代久远的硬件及设备。
WinDbg 是什么?它能做什么?
WinDbg 是 Windows 平台下,强大的用户态和内核态调试工具。它能够通过 .dmp 文件轻松定位到问题根源,可以用于分析蓝屏、软件崩溃的原因,是开发 Windows 软件和日常使用中分析蓝屏原因的一个有力工具,使用它可以有效提高定位问题,解决软件开发中的 bug 的效率和准确率。
如何使用 WinDbg 呢?
收集蓝屏报错信息
做过开发的都知道,没有日志是没有办法进行方便调试的,因此要想分析蓝屏原因,必须要先有日志文件,Windows 系统实际上默认是开启蓝屏报错日志的。
但是部分精简过的系统,或者部分所谓的优化软件会将此功能禁用,因此需要确认此功能是否打开,配置完毕后即可在下次出现蓝屏时自动记录日志,方便溯源。
首先在桌面「此电脑」右键,若桌面没有「此电脑」可打开「文件资源管理器」,在左侧快速菜单中在「此电脑」选项上右键,和前一种方式的结果一致,然后在左侧的控制面板主页中选择「高级系统设置」
在「启动和故障恢复」子项中点击「设置」
查看下图中所配置的路径,此路径为蓝屏日志的存放地址,推荐使用图中的默认路径
默认 %SystemRoot%
路径对应系统盘的路径为(假定系统磁盘为 C:\)
C:\Windows\minidump
配置符号表
符号表是 WinDbg 中关键的“数据库”,用于解析 .dmp 文件。
首先下载安装 WinDbg ,请根据系统版本进行选择,若 64位系统请选择 AMD64 版本。
运行 WinDbg ,然后打开 [File] - [Symbol File Path ...]
或者快捷键 [Ctrl+S]
打开配置页面,配置符号表的存储目录。
小贴士:建议选择一个固定的位置存放符号表,符号表文件并不大,博主本次下载的符号表仅占用 27.5Mb ,因此可以放在 C:\ 盘根目录中。
在其中填入以下内容
SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
实际上含义很简单,将符号表保存至 C:\Symbols
中,所需的文件从微软官网下载。
分析蓝屏问题报告
保存后即可开始分析蓝屏日志,在 [File] - [Open Crash Dump...]
或者快捷键 [Ctrl+D]
打开蓝屏日志文件
小贴士:这里有一点需要注意,系统的标准存储路径是无法使用 WinDbg 打开的,因此需要在上一步中将 .dmp 文件复制到其他目录:比如「我的文档」中。
打开的速度可能会较慢,因为会从微软官网下载符号表进行分析,等出现上述界面时即可。此时点击屏幕左下方的蓝色字符 !analyze -v
即可查看详细报错信息。
在详细报告中会显示蓝屏的错误代码和引起蓝屏的相关进程,一般来说驱动更新或者系统更新最可能导致蓝屏的发生。
附录
参考链接
- WINDBG 蓝屏分析 WINDOWS DUMP 文件教程 - Forece Blog
- Windbg分析蓝屏Dump文件 - CNBLOGS
- 在 Windows 中配置系统故障和恢复选项 - Microsoft Learn
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2020-04-02 12:54 PM