如何使用WinDbg查找蓝屏原因

如何使用WinDbg查找蓝屏原因 - zhaotianff - 博客园

从深圳回到长沙后,电脑关机时偶尔会出现irql not less or equal导致的蓝屏,一度怀疑是新装 了机械硬盘导致的,因为以前在深圳没有出现过这种问题。

后面查找了一下资料,发现可以使用WinDbg来分析dmp文件来查找蓝屏的原因。

下面介绍下分析的步骤:

一、找到对应时间点的dmp文件

dump文件的路径是C:\Windows\minidump,找到对应蓝屏时间点的dmp文件

二、下载WinDbg工具

WinDbg以前是随Visual Studio一起发行,现在是作为Windows 10 SDK的一部分。

访问以下链接,单击【Download the installer】下载Windows 10 SDK

https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

三、安装 Windows 10 SDK

打开下载的安装程序,钩选Debugging Tools for Windows

四、打开开始菜单,找到WinDbg(x64)

五,运行WinDbg,点击 【File】-》【Symbol File Path】。

点击后,需要连接服务器,稍等片刻,在对话框中输入。一开始我这边一直没弹出对话框,我还以为出了什么问题,后面等了一会就出来了。

1 srv*C:\Temp\symbols*http://msdl.microsoft.com/download/symbols

六,单击【File】-》【Open Crash Dump】

打开前面的.dmp文件

出现这个界面的时候,是在连接服务器,需要稍等片刻,出现如下的界面

点击 【!analyze -v】,也可以手动在下面输入

左下角提示【BUSY】,稍等片刻,可以看到完整的分析结果

往下拉,找到【Image Name】这里,就可以看到对问题的模块名称

我这里是raspptp.sys,搜索了一下,找到了如下的答案:

至此我也明白了,是因为我配置了PPTP的VPN网络连接导致的

虽然找到了原因,但为啥使用PPTP的vpn网络连接会在关机时导致蓝屏这就不得而知了。

最后,这玩意好像不太稳定,如果一次不出分析结果 ,就多操作几次。

参考链接:

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools

### 使用 Windbg 分析和修复 Windows 蓝屏 (BSOD) #### 安装并配置 WinDbg WinDbgMicrosoft 提供的强大调试工具,能够帮助分析内核转储文件来找出蓝屏的根本原因。安装 WinDbg 可通过 Windows SDK 或者独立下载最新版本的 WinDbg Preview 应用程序。 为了准备使用 WinDbg 来处理 BSOD: - 下载并安装适用于开发人员的 Windows 工具包中的 Debugging Tools for Windows 组件[^1]。 - 配置符号路径以便获取正确的驱动程序和服务模块信息。可以通过设置环境变量 `_NT_SYMBOL_PATH` 实现这一目标,例如 `SRV*c:\symbols*https://msdl.microsoft.com/download/symbols`。 ```powershell Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\dump_analysis" -Name _NT_SYMBOL_PATH -Value "SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols" ``` #### 获取崩溃转储文件 当系统发生蓝屏时,默认情况下会创建一个小内存转储(minidump),通常位于 `%SystemRoot%\Minidumps` 文件夹下。对于更详细的分析,则可能需要完整的或核心级别的内存转储文件。 如果默认未启用大容量转储功能,在注册表中可以调整此选项以确保捕获足够的数据用于后续调查。 ```regedit [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] "LogEvent"=dword:00000001 "SendAlert"=dword:00000001 "CrashDumpEnabled"=dword:00000001 "DumpFile"="C:\\Dumps\\memory.dmp" "DebugInfoType"=dword:00000002 ; Mini dump ; or use dword:00000003 for full memory dumps. ``` #### 加载转储文件WinDbg 启动 WinDbg 后,选择菜单项 **“File -> Open Crash Dump...”** 并指向之前提到的小型或大型转储文件位置。加载完成后,执行 `.reload /f` 命令强制重新加载所有符号,这有助于获得最准确的结果。 #### 执行基本命令进行初步诊断 输入以下常用命令来进行初始评估: - `!analyze –v`: 自动化分析当前上下文中发生的异常情况,并提供有关潜在问题的信息。 ```plaintext !analyze -v ``` - 查看堆栈跟踪以了解导致崩溃的具体调用序列 ```plaintext k kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw ky kz ``` 上述命令可以根据具体需求选用不同的变体形式查看不同层次的细节。 #### 解读输出结果 根据 `!analyze -v` 的反馈以及其他辅助指令得到的数据综合判断故障源。常见的情况包括但不限于硬件兼容性问题、第三方软件冲突以及不稳定的设备驱动等因素引发的错误模式。 一旦确定了根本原因,就可以采取相应的措施解决问题,比如更新有问题的驱动程序或者移除引起干扰的应用程序等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值