Windbg 分析Windows蓝屏原因的方法
蓝屏是系统崩溃。操作系统在遇到致命错误导致崩溃时,并不是直接挂掉,而是会记录下当时内存中的数据,将其存储成为dump文件,并用一串蓝屏代码向用户做出提示。
一、如何获取DUMP文件
右键点击“我的电脑”,选“属性→高级→启动和故障恢复→设置”,打开“启动和故障恢复”选项卡,在“写入调试信息”下拉列表中选中“小内存转储(64KB)”选项,如下图:
选好后点确定,下次再出现蓝屏时,系统就会存储下dump文件,一般存放位置在系统盘的minidump文件夹下。(建议在该文件夹上点右键——属性——发送到——桌面快捷方式,以后就能在桌面上找到该文件夹了)。
小知识:小内存转储
内存转储是用于系统崩溃时,将内存中的数据转储保存在转储文件中,供给有关人员进行排错分析使用。小内存转储,就是只保存内存前64KB的基本空间数据的内存转储文件。这样可以节省磁盘空间,也方便文件的查看。选好后点“确定”,这样操作系统在下次出现蓝屏时,就会记录下当时内存中的数据,并存储为dump文件,该文件存放在系统盘的minidump文件夹下。
小知识:Dump文件
Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如使用WinDbg打开。
第二步,下载安装windbg并安装
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
第三步,使用windbg诊断蓝屏错误
遇到计算机蓝屏后重启,在minidump文件夹下会出现一个以日期为文件名的文件,那就是我们要的了。接下来打开windbg软件启动,File—>Open Crash Dump,如图:
然后找到你的minidump文件夹,dump文件一般是”时间.dmp”打开后就会自动分析了。
分析完后,看最下面,找到probably caused by这一行,如图:
那个360AntiArp.sys文件就是问题所在(举例,仅供参考),根据相关的文件名,在硬盘内查找和该文件相关的程序,排除该程序的影响后,确认是否还有蓝屏问题出现。
【注】导入dump文件分析完毕后,不要关闭,在命令行里面输入 !analyze -v ,这个命令可以查看dump文件的详细情况,对普通用户有用的还有下面一些信息:
0:000>!analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** WARNING: Unable to verify checksum for testflash.exe
*** ERROR: Module load completed but symbols could not be loaded for testflash.exe
*** WARNING: Unable to verify checksum for flashgame.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for flashgame.dll –
*** WARNING: Unable to verify checksum for yyyclient.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for yyyclient.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for SKCHUI.DLL –
*** ERROR: Module load completed but symbols could not be loaded for xpsp2res.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for MSOXMLMF.DLL –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for RTXOLAss.dll –
*** WARNING: Unable to verify checksum for DS40xxSDK.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for DS40xxSDK.dll –
*** WARNING: Unable to verify checksum for ClientPlayM4.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ClientPlayM4.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for rsaenh.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for safemon.dll –
*** ERROR: Module load completed but symbols could not be loaded for shdoclc.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for sysfer.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for mswsock.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for psapi.dll –
*** ERROR: Symbol file could not be found. Defaulted to export symbols for user32.dll –
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: IMAGE_NT_HEADERS32 ***
*** ***
*************************************************************************
WARNING: lient overlaps testflash
WARNING: lient overlaps flashgame
WARNING: lient overlaps yyyclient
WARNING: lient overlaps SKCHUI
WARNING: lient overlaps xpsp2res
WARNING: lient overlaps MSOXMLMF
WARNING: lient overlaps RTXOLAss
WARNING: lient overlaps Flash10
WARNING: lient overlaps DS40xxSDK
WARNING: lient overlaps ClientPlayM4
WARNING: lient overlaps rsaenh
WARNING: lient overlaps safemon
WARNING: lient overlaps shdoclc
*** WARNING: Unable to verify timestamp for lient.dll
*** ERROR: Module load completed but symbols could not be loaded for lient.dll
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: kernel32!pNlsUserInfo ***
*** ***
*************************************************************************
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: kernel32!pNlsUserInfo ***
*** ***
*************************************************************************
FAULTING_IP:
lient+528d873
0528d914 8a08 mov cl,byte ptr [eax]
EXCEPTION_RECORD: ffffffff — (.exr 0xffffffffffffffff)
ExceptionAddress: 0528d914 (lient+0x0528d873)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 07889000
Attempt to read from address 07889000
DEFAULT_BUCKET_ID: INVALID_POINTER_READ
PROCESS_NAME: testflash.exe
【略】
———
在上面显示的详细分析数据中:
DEFAULT_BUCKET_ID: 错误类型,这个需要编程和操作系统内核知识的工程师用得上;
PROCESS_NAME: XXX.exe 这个是导致错误的进程,查出是什么文件导致的蓝屏后,再看这里就知道是谁调用了错误文件,比如你查出testflash.sys导致蓝屏,但你查不到testflash.sys是哪个程序调用的,就可以用这个方法来看看,比如查出了是testflash.exe,你就可以在机子上或者网上搜索相关信息了。
附:
windbg基本调试命令:
r:可以显示系统崩溃时的寄存器和最后的命令状态。
dd:显示当前内存地址,dd 参数:显示参数处的内存。
u:可以显示反汇编的指令
!analyze –v:显示分析的详细信息。
kb:显示call stack 内容
bugcheck:可以显示出错的代码
Windbg 分析Windows蓝屏原因的方法相关推荐
- 揪出“凶手”——实战WinDbg分析电脑蓝屏原因
http://www.appinn.com/blue-screen-search-code/ 蓝屏代码查询器 – 找出蓝屏的元凶 11 文章标签: windows / 系统 / 蓝屏. 蓝屏代码查询器 ...
- Win7 下分析蓝屏原因的方法
转载自: http://diybbs.zol.com.cn/58/231_571036.html 现在笔者介绍一款强大的蓝屏诊断软件,微软windbg,附上傻瓜式教程,不要担心看不懂. 由于鉴于很多人 ...
- 简单查看windows蓝屏原因
相信各位在使用windows(xp.7.8.1.10...)过程中都遇到过蓝屏的情况,而蓝屏时,系统会将其记录起来,并追踪到引起蓝屏的程序,以下内容将简单介绍一下如何查看引起windows蓝屏的原因: ...
- windows蓝屏原因速查表(常见蓝屏原因与解决方法速查(适用于Windows 7/8/8.1/10/11))
十六进制值 文字代码 可能的原因 可尝试的解决方法 0x00000001 APC_INDEX_MISMATCH 驱动出现问题,或安装了错误.不兼容的驱动 更新.重新安装相应设备官网的驱动 0x0000 ...
- windbg分析dmp蓝屏文件_手把手教你分析漏洞 : CVE-2018-8120
实验环境 双虚拟机调试 这里我把漏洞机和调试机都放在了虚拟机里,采用虚拟机调试虚拟机的好处就是可以实时保存快照,有空的时候在接着工作(其实是为了更好的加班,开个玩笑~~ 1.漏洞机的设置 在虚拟机里安 ...
- 用WinDbg分析电脑蓝屏文件
有时Windows 系统经常意外的蓝屏,一个很好的蓝屏故障解决办法和大家一起分享. 首先在讲解之前先做几个名词解释,以便大家理解本文(windows XP为例): 第一步:打开"小内存转储& ...
- 记一次windows蓝屏的解决方法——快速启动惹的祸
现象 公司电脑,Windows10 系统,我一般周一到周四不关机只休眠,一切正常,周五下班关机,可是到下周一过来开机必蓝屏(100%蓝屏),强制关机重启后又一切正常了. 后面反复测试了几次,发现只要是 ...
- 关于Windows蓝屏6B修复方法的完整全过程
写在前面: 我觉得作为一名程序员来说,最烦的莫过于就是电脑出问题,电脑于我们而已就好比厨师的菜刀,锋利的菜刀使用起来刀刀精准,分块精良,样式美观,做出的菜肴口感美味,而钝的菜刀则会消磨厨师耐心,影响厨 ...
- win10系统装服务器2008蓝屏,升级安装Win10正式版后出现蓝屏怎么办?Win10蓝屏原因分析及解决方法...
最近有不少人都升级了Win10系统,但是有一些人Win10安装好了以后,总是蓝屏和不停地重启,根本不能好好体验新版Win10了.那么升级安装Win10正式版后出现蓝屏怎么办?下面就分享Win10蓝屏原 ...
最新文章
- 月薪40~50K|波波生活信息技术公司招聘高级算法工程师
- python如何读取excel数据-python怎么从excel中读取数据?
- 以下属于单例模式的优点的是_三、单例模式详解
- 过滤“清扬男士”Flash广告
- maile:教你程序员怎么发邮件
- 前端实现只显示年月日
- 计算机专业特殊人才上大学,上海交通大学计算机科学与工程系(CSE)
- php session和cookie区别,php中session和cookie的区别是什么?
- php order by 3-- 没反应,Thinkphp 无法使用-)order() 排序的两种解决办法!
- 20190811:只出现一次的数字(四种解法)
- 开启和关闭oracle数据库中的审计功能
- pdfptable pdf生成表格分页_Excel按一下这个键,一张纸打印所有表格,不要浪费A4纸了...
- Raki的读paper小记:ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS
- win10安装马上6的问题
- phpwind测试之phpwind安装(二)
- 医咖会免费SPSS教程学习笔记—组内相关系数ICC
- Java之棋牌游戏——编写一个斗地主洗牌发牌的程序,要求按照斗地主的规则完成洗牌发牌的过程
- 微信小程序-基于云开发实现社区项目(Demo版本的升级)
- 解析GMAT语法中主谓一致知识点
- eclipse修改java jdk(以1.8为例)
热门文章
- 唐宇迪​​机器学习实战——梯度下降求解逻辑回归(理论基础+源代码实现)
- 用C语言写一个人员文件管理系统(一)
- 决不放弃的意志之力让公司起死回生
- 企业内部钉钉H5微应用(免登录)Spring Boot项目实战
- STM32Cube_FW_F1_V1.0.0固件库学习(一)环境准备
- 公司U07 随机变量,NPV与实物期权 习题解读
- ABP官方文档(十七)【仓储】
- http error - listen tcp 127.0.0.1:1087: bind: address already in use - Mac
- 免费开放的星座运势接口分享
- 基于高分辨影像城市绿地信息提取项目流程