收藏 分享(赏)

Windbg工具使用和系统蓝屏检测分析思路.docx

上传人:kpmy5893 文档编号:7229915 上传时间:2019-05-10 格式:DOCX 页数:19 大小:1.27MB
下载 相关 举报
Windbg工具使用和系统蓝屏检测分析思路.docx_第1页
第1页 / 共19页
Windbg工具使用和系统蓝屏检测分析思路.docx_第2页
第2页 / 共19页
Windbg工具使用和系统蓝屏检测分析思路.docx_第3页
第3页 / 共19页
Windbg工具使用和系统蓝屏检测分析思路.docx_第4页
第4页 / 共19页
Windbg工具使用和系统蓝屏检测分析思路.docx_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、1 / 19Windows 蓝屏检测/分析思路一. 基本概念1. 页面文件指操作系统反映构建并使用虚拟内存的硬盘空间大小所使用的文件。具体来说,在 windows 操作系统下 pagefile.sys 这个文件,它就是系统页面文件(也就是大家熟知的虚拟内存文件),它的大小取决于打开的程序多少和你原先设置页面文件的最小最大值,是不断变化的,有时可能只有几十 M,有时则达到 600M 以上。2. 小存储器转储文件小存储器转储文件记录可帮助确定计算机为什么意外停止的最小的有用信息集。此选项要求启动卷(一般指系统分区,如 C 区)上有一个至少为 2 MB 的页面文件。在运行 Microsoft Win

2、dows 2000 或更高版本的计算机上,计算机每次意外停止时 Windows 都会新建一个文件。这些文件的历史记录存储在一个文件夹中。二. DUMP 文件1. 概 念 : Dump 文 件 是 进 程 的 内 存 镜 像 。 可 以 把 程 序 的 执 行 状 态 通 过 调 试 器 保 存到 dump 文 件 中 。 该 文 件 是 用 来 给 驱 动 程 序 编 写 人 员 调 试 驱 动 程 序 用 的 , 这 种文 件 必 须 用 专 用 工 具 软 件 打 开 , 比 如 使 用 WinDbg 打 开 。2. 用 途 : Dump 文件分析很大程度上就是分析蓝屏产生的原因。这种系统

3、级的错误算是 Windows 提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等)。说它是比较严重,是因为毕竟 Windows 还提供了 dump 文件给用户分析,至少能比较容易的找到错误的原因。一般蓝屏要么是内核程序中的异常或违规,要么是数据结构的损坏,也有启动或关机的时候内核出错。有时候蓝屏是一闪而过,紧接着是系统重启;有时候是蓝屏等待。总之蓝屏的时候都提示了一些停止代码和错误信息,不过这些提示是不全面的,最多知道哪个模块出错(比如驱动)。想了解进一步的信息,或者通过搜索引擎,最好的方式当然是 dump 文件分析。当然,如果有更进一步研究的欲望,内核调试是更好的方法,

4、不过这需要某些软件支持和调试技巧。3. 类型Dump 文件有三种:完整内存转储,内核内存转储,小内存转储。“系统属性”中的高级选项中可以看到这些设置。完整内存转储太大,一般是物理内存大小或多2 / 19一些,包括了用户进程页面,这种方式不实用,2GB 的物理内存转储出来至少要2GB 的磁盘空间 (还有文件头信息)。内核转储一般是 200MB 大小(物理内存小于4GB),它只是包含了所有属于内核模式的物理内存。小内存转储一般是 64KB(64位上是 128KB),这两种方式是更常用的。4. 小内存转储下的 DUMP 文件小内存转储在WindowsMinidump 文件夹下生成了一个叫 Mini

5、日期+序列号.dmp 的文件,这个珍贵的资源就是系统 Crash 时刻的状态。前面说到的 dump 文件分析,其实就是借助工具软件,读取该文件,并进行人为分析。三 DUMP 文件分析工具1. Windbg概念:WinDbg 是微软发布的一款相当优秀的源码级(source-level) 调试工具,可以用于 Kernel 模式调试和用户模式调试,还可以调试 Dump 文件。针对蓝屏这种情况,我们就是需要借助它,来进行简单的分析。2. BlueScreenView说明:这款名为 BlueScreenView(蓝屏信息速查)的免费小软件能够分解出Windows 发生蓝屏崩溃后生成的“minidump”

6、 文件,使其容易阅读,从而帮助用户找出问题的症结所在。虽然它的功能没有 windbg 强大,但是软件中附带的一个小功能,会让我们有特别的“惊喜”四. 开启 小内存转储要使系统能够记录 dump 文件,我们必须事先确保系统中的 “小内村转储“功能,已经开启。以 Windows 7 为例,XP 类似。具体方法如下:3 / 191. 右键点击:计算机(我的电脑),选择:属性2. Windows vista / 7,选择: “高级系统设置”(XP 系统没有这步)2. 选择:“高级”4 / 193. 点击:“启动和故障恢复”中的“设置”5 / 194. 在“写入调试信息”下方,选择: “小内存转储(12

7、8 KB)。5. 下方的“转储文件”,保持默认 即可。无需改动。6 / 196. 附一张 XP 下的这部分操作图, XP 下是选择: 小内存转储( 64 KB)五.WinDbg 安装、配置1. 安装。我以上面提到的:Windbgx86_v6.12.2.633.1395371577 为例,演示安装过程。下载后双击运行,出现下图:7 / 19点击 Next,继续下一步:8 / 19选中: I agree,点击 Next9 / 19点击: Complete 左边的方框图标10 / 19点击: Install,开始安装:安装完毕,点击 Finish,退出安装程序11 / 192. 使用。从开始菜单-程

8、序中,我们能够找到:“Debugging Tools for Windows (x86)”,运行里面的 WinDbg 即可。如图:12 / 193. 设置 WinDbg 抓取环境WinDbg 安装到任意盘符,例如 C 盘,使用下面的参数抓取 Dump。找到 WinDbg 目标路径,打开运行 输入:“C:Program FilesDebugging Tools for Windows (x86)windbg.exe“ -I 运行该参数时,WinDbg 会弹出一个提示,点击确定后 WinDbg 界面会消失,如下图:WinDbg 参数说明:-I:将 WinDbg 作为默认的调试工具,注意 I 必须为

9、大写,小写无效。13 / 19运行后,弹出软件主界面,点击: File Open Crash Dump14 / 19弹出选择对话框,选择 Windows 自动生成的 Dump 文件。(因为整不出 win7蓝屏,我就用网上找的 XP 的 dump 文件代替了)注意: XP 下,生成的 dump 文件,是以日期命名的;而 Windows vista 和 Windows 7 系统,名称是: MEMORY.dmp选中后点击:打开,WinDbg 弹出如下提示,点击: 否,即可15 / 19经过简单的分析,软件会给出最后的结论,看图:红色框部分的意思是: 可能由(后面的文件)引起:此例中,可以看到,是由

10、NETIO.SYS 文件引起的蓝屏故障。六. 再现 Windows 蓝屏 界面众所周知,在 远程服务这个层面上,我们是肯定看不到用户电脑蓝屏界面的,而只能一味的询问用户,让用户尽可能的描述。其实我们不需要这么麻烦,完全可以借助之前提到的第二个工具: BlueScreenView,在该软件中,直接“再现 Windows 蓝屏 界面”。因为软件是绿色中文免费版,下载和运行我就不多说了。16 / 19 注意: 该软件和 WinDbg 不同,在运行软件之前,必须确保: WindowsMinidump 目录下存在 dump 文件!软件运行后,会自动读取该目录下全部 dump 文件。由于本机没有蓝屏过,没

11、有生成 Minidump 文件夹,自己在 windows 文件夹下创建 Minidump 文件夹,然后在 Minidump 文件夹放了几个 dump 文件。打开软件后如图:这里,我选中了第一个蓝屏界面,在下方,软件列出了导致蓝屏的(可能性最大的)几个文件。用粉色高亮了。当然,这样并不能帮助我们来判断罪魁祸首。继续做下面的操作点击软件的:选项 显示下方面板,选择: 显示为 XP 样式的系统崩溃蓝屏17 / 19我们立刻就能看到,久违的。蓝屏现象再现:看图中我圈选的两部分:The Problem seems to be caused by the following file: ntoskrnl.

12、exe翻译过来:此问题可能是由于后面这个文件(ntoskrnl.exe)导致。18 / 19知道罪魁祸首了。那么接下来,ntoskrnl.exe 这个文件又是什么文件呢?百度之后发现,ntoskrinl.exe 是 Windows 操作系统的一个重要内核程序文件,看到这是 windows 系统文件,建议修复系统七. 总结和补遗1. 总结在 Windows 系统中,蓝屏时时刻刻都会出现,究其原因,一般都是由于软件和系统的不完善、冲突 导致的。具体来说,可以简单理解为:在软件运行过程中,某(些)文件,需要读取/写入内存地址,在这个过程中出现了错误,导致冲突或者错误,而进一步造成的蓝屏。因为这部分的

13、具体操作,涉及到了系统内核,在实际分析过程中多会涉及编程方面的知识。因此现阶段,我们无法真正彻底的触及其“精髓”,我们需要做的就是:利用辅助软件,查出是由于哪个文件引起的,借助其他方面的知识,判断该文件的用途,以此来尝试解决、或者说是尽量减少用户系统蓝屏的可能。如上面的例子,ntoskrnl.exe ,是 windows 系统文件。查出原因告知用户,可建议用户修复系统,该问题瑞星不受理,而不要一味的浪费时间,想着如何去实际解决该问题。2. 补遗在某些情况下,虽然我们之前设置了“小内核转储“,但发生蓝屏情况时,系统并未生成 dump 文件,此时就需要我们手动的去生成。手动生成 Dump 文件时,

14、我们需要一个 PS/2 接口的键盘,并在系统中做如下设置: 1)、打开注册表编辑器 regedit;2)、定位如下键值:19 / 19HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession Manager3)、设置 GlobalFlag 的值为 00000400(16 进制)4)、定位如下键值:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesi8042prtParameters5)、新建一个 DWORD 的键,命名为“CrashOnCtrlScroll”6)、设置其值为 17)、重启电脑使设置生效。 当系统问题发生时,我们使用 PS/2 的键盘触发蓝屏。当系统停在死机界面时,请按住右边的“Ctrl”键,然后连续按下”Scroll Lock”键 2 次。当我们看到蓝屏界面时,请等待至到系统收集 dump 文集的过程结束之后再重新启动服务器。因为这个操作只能通过本地的终端直接进行,不能通过任何的远程服务进行操作。 所以出现这种情况时,我们一般可以通过电话方式告知用户如何操作。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报