栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

9.windows蓝屏分析

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

9.windows蓝屏分析

0.驱动蓝屏

首先需要有双机调试环境(双机内核调试环境搭建),这里构造一段错误驱动代码(驱动开发环境搭建)

#include 

NTSTATUS DriverUnload(PDRIVER_OBJECT pDriver)
{
    DbgPrint("Driver Unloadrn");
}

NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pReg)
{
    DbgPrint("Driver Load rn");

    PULONG Ptr = 0;
    *Ptr = 1;
    
    pDriver->DriverUnload = DriverUnload;

    return STATUS_SUCCESS;
}

1).虚拟机内执行上述驱动代码引发异常错误

2).Windbg捕获到异常错误

错误码官方解释文档

3).Windbg使用!analyze指令获取具体错误信息

此步骤可以粗略判断引发异常错误的进程以及在哪个内核模块中出现错误

4).Windbg输入k指令获取堆栈信息 kv获取详细堆栈信息

此步骤有时不会达到预期效果.堆栈回溯未必齐全

5).Windbg输入g指令dump内存

dump内存完成后重启虚拟机查看默认DMP文件存储位置

6).将DMP文件拖入Windbg

Windbg成功加载DMP文件

Windbg使用!analyze指令获取详细信息

如果没有源代码情况下就要使用kv或通过异常环境时的堆栈来回溯错误源头

7).如果此时堆栈回溯还不详细Windbg使用 dds esp指令查看

蓝屏大致分析流程如此,如果Windbg首次捕获到异常使用!analyze指令获取信息不完全时可通过DMP文件来具体分析.

通过kv指令回溯堆栈可以详细分析错误源头

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号