使用winDBG分析蓝屏日志

合集下载

如何利用windbg分析蓝屏

如何利用windbg分析蓝屏

如何利用windbg分析蓝屏
电脑蓝屏经常遇见,但是发生蓝屏后我们千万别慌,其实我们可以利用蓝屏分析工具来分析蓝屏,下面就由店铺跟大家分享如何利用windbg分析蓝屏吧,希望对大家有所帮助~
利用windbg分析蓝屏步骤
Windbg蓝屏分析工具,也叫Windows Debugging Tool,结合微软官网知识库中的案列来处理问题,比较靠谱一些。

用WinDBG工具分析、处理蓝屏问题,要确保系统有生成内存转储文件。

开始→控制面板→系统→高级→启动和故障恢复→设置→写入调试信息→小内存转储→确定
蓝屏相关文件会保存在C:\Windows\MiniDump目录下面。

所以,出现蓝屏后,先检查系统中有没有C:\Windows\Memory(按照日期命名的文件).dmp这个文件。

其次,不同的操作系统需要使用不同的版本(32位、64位),下载、解压文件之后,将汉化文件复制(Ctrl+C)、黏贴(Ctrl+V)到和当前操作系统的位数相匹配的文件夹中即可使用。

选一个临时目录存放Symbol文件。

比如,在系统盘根目录建立一个C:\Temp临时文件夹。

打开分析工具之后,需要配置一下:文件→符号文件路径
在其中输入:SRV*c:\temp*/download/symbols →确定
以后,遇到蓝屏,使用该工具打开.dmp(扩展名)的文件,保持联网即可分析了。

windbg使用方法

windbg使用方法

windbg使用方法Windbg是一款由Microsoft开发的强大的调试工具,它可以帮助开发人员诊断和解决Windows平台上的各种软件问题。

本文将介绍Windbg的基本使用方法,希望能够帮助读者更好地利用这一工具进行调试和分析。

首先,我们需要下载并安装Windbg工具。

可以在Microsoft官方网站上找到Windbg的安装包,并按照提示进行安装。

安装完成后,我们可以在开始菜单或者桌面上找到Windbg的快捷方式,双击打开即可进入工具界面。

在使用Windbg进行调试之前,我们需要先了解一些基本概念和操作。

首先是符号文件的设置,符号文件包含了程序中各个函数和变量的调试信息,可以帮助我们更好地进行调试。

在Windbg中,可以通过设置符号路径和加载符号文件来进行符号文件的管理。

接着是源代码的设置,如果我们有程序的源代码,可以通过设置源代码路径来进行源代码级别的调试。

最后是调试目标的设置,可以通过Attach或者Open Crash Dump来加载需要调试的程序。

接下来,我们来看一下Windbg的一些常用命令和功能。

在Windbg的命令行窗口中,可以输入各种命令来进行调试操作,比如设置断点、查看变量的值、跟踪函数的调用等。

此外,Windbg还提供了丰富的图形化界面,可以通过菜单栏和工具栏来进行各种调试操作,比如查看内存、查看寄存器、查看线程信息等。

除了基本的调试功能,Windbg还提供了一些高级的调试工具和扩展,比如分析内存泄漏、分析崩溃转储、分析性能问题等。

通过这些工具和扩展,我们可以更深入地了解程序的运行情况,找出潜在的问题并加以解决。

在使用Windbg进行调试的过程中,我们可能会遇到各种各样的问题和挑战,比如调试信息不够详细、调试速度太慢、调试过程中出现崩溃等。

针对这些问题,我们可以通过调整符号文件的设置、优化调试环境、使用合适的调试工具等方式来进行解决。

总的来说,Windbg是一款功能强大的调试工具,可以帮助我们更好地进行程序调试和分析。

蓝屏

蓝屏

二、Windows 7蓝屏的处理方法
Windows 7蓝屏信息非常多,无法在一篇文章中全面讲解,但他们产生的原因往往集中在不兼容的硬件和驱动程序有问题的软件、病毒等在遇到蓝屏错误时,应先对下面的方案进行排除。
1、重启
有时只是某个程序或驱动程序一时犯错,重启后他们会改过自新。(注意:此时参见7。查询停机码)
“已将转储的数据保存在: C:\Windows\MEMORY.DMP”或“C:\Windows\Minidup文件夹中的.dmp文件中。”
这些以.dmp文件是什么文件呢?它们是windows的内存转储文件,在windows系统中,“小内存转储”文件保存在 Windows\Minidump 文件夹中,它只记录有发生蓝屏死机时的关键信息;“核心内存转储”及“完全内存转储”文件则直接保存在 Windows 文件夹中,文件名为 MEMORY.DMP,它们分别记录有发生蓝屏死机时的核心内存信息和完整的内存信息。
2)、CPU超频导致运算错误
超频对于发烧友来说是常事,所以由超频所引起的各种故障也就在所难免了。超频,就本身而言就是在原 有的基础上完成更高的性能,但由于进行了超载运算,造成其内部运算过多,使CPU过热,从而导致系统运算错误。有些CPU的超频性能比较好,但有时也会出现一些莫名其妙的错误。(建议CPU要超频时,散热工作一定要做好,最好装一个大的风扇,再加上一些硅胶之类的散热材料。)
Windows 7蓝屏后产生的.dmp文件如何打开并准确分析导致蓝屏原因所在?
Windows 7系统电脑出现蓝屏后都会自动重启,重启后电脑屏幕会提示蓝屏的相关信息,此时如果你没有来得及查看,你也可以进入windows7的“事件查看器”(位置为:控制面板--系统和安全--管理工具--查看事件日志),在“事件查看器”中你将也会看到出错的系统信息代码或者后面的说明文字为关键词搜索,往往也会有以外的收获。这个大家肯定都知道了。

用WinDbg解决计算机蓝屏问题

用WinDbg解决计算机蓝屏问题

一般大家遇到计算机蓝屏问题,看到如此长的一串错误代码,往往不知所云。

就算把错误代码放到百度上搜索,也众说纷纭,最后无奈重装系统。

我最近也遇到了这样的困扰,我们的序号服务器近期来,时不时蓝屏,并且蓝屏的几率越来越大,最严重的情况下,一天蓝屏3次之多。

我也根据蓝屏的错误代码到网上看,有的说是驱动问题,有的说是主机散热问题,还有的说是内存条质量不好,我晕倒。

无奈和信管商量,准备重装系统,如果还不行,就咨询硬件厂商来解决问题。

结果我在重装系统的时候,又反复蓝屏,造成系统无法重装,这可如何是好!我就咨询服务器厂商技术人员,他让我将%SystemRoot%\Minidump目录下面的文件发给他看,我就传了邮件给他,结果等了半天也没有信息反馈。

于是我就就是网上用关键字“minidump”找相关的资料,后来搜索了一番,找到了一个很好的解决计算机蓝屏的方法,与大家分享。

步骤如下:1)确保你计算机在蓝屏的时候,能够将信息进行存储方法如下:右键点击“计算机”,在“高级选项页”里面,点击“启动和故障恢复“选项,在弹出的窗体里面查看“写入调试信息”下拉框,一般“选择小内存转储”或“核心内存转储”即可,在如下图所示:这样,后续出现蓝屏错误的时候,就会在%SystemRoot%\Minidump目录下,产生错误文件。

说明:内存转储文件是一个扩展名为.DMP 的文件。

“小内存转储”文件保存在Windows\Minidump 文件夹,文件大小为64KB,它只记录有发生蓝屏故障时的关键信息;“核心内存转储”与“完全内存转储”文件则保存在Windows 文件夹中,文件名为MEMORY.DMP,它们分别记录有发生蓝屏故障时的核心内存信息与完整的内存信息。

为了节省硬盘空间,通常我们可以选择“小内存转储”2)下载WINDbg 工具网址如下,附件里面有我下好的压缩包。

/whdc/devtools/debugging/installx86.mspx这里注意的是下载对应的版本,不要下错。

pagefault windebug方法

pagefault windebug方法

pagefault windebug方法
WinDBG是一种调试工具,可以用于分析Windows操作系统
的崩溃、故障和性能问题。

在WinDBG中,可以使用以下方
法来分析页面错误(page fault):
1. 启动WinDBG并加载相关符号文件。

可以使用以下命令加
载符号文件:
- `.sympath`:设置符号路径
- `.reload`:重新加载符号文件
2. 设置调试目标。

使用以下命令设置调试目标:
- `.attach`:附加到已运行的进程
- `.kill`:结束一个已附加的进程并重新启动
3. 启用页面错误信息。

使用以下命令启用页面错误信息:
- `.faults`:显示页面错误
4. 分析页面错误。

在页面错误发生时,WinDBG将显示相关
信息,包括错误类型、错误地址、相关模块等。

通过分析这些信息可以确定导致页面错误的原因。

5. 使用其他WinDBG命令进一步分析。

根据页面错误的性质,可以使用其他WinDBG命令来获取更多信息,例如:
- `!pte`:查看特定虚拟地址的页表项
- `!poolused`:显示已分配的内存池信息
- `!process`:显示进程信息
- `!thread`:显示线程信息
通过以上步骤,可以使用WinDBG工具来分析和排查页面错
误问题。

需要根据具体情况选择合适的命令和方法来进行分析。

windbg的常用命令--强大常用

windbg的常用命令--强大常用

如何手工抓‎取dump‎文件在生‎产环境下进‎行故障诊断‎时,为了不‎终止正在运‎行的服务或‎应用程序,‎有两种方式‎可以对正在‎运行的服务‎或应用程序‎的进程进行‎分析和调试‎。

首先‎一种比较直‎观简洁的方‎式就是用W‎i nDbg‎等调试器直‎接atta‎c h到需要‎调试的进程‎,调试完毕‎之后再de‎t ach即‎可。

但是这‎种方式有个‎缺点就是执‎行debu‎g ger命‎令时必须先‎b reak‎这个进程,‎执行完de‎b ug命令‎之后又得赶‎紧F5让他‎继续运行,‎因为被你b‎r eak住‎的时候意味‎着整个进程‎也已经被你‎挂起。

另外‎也经常会由‎于Firs‎tCha‎n ce E‎x cetp‎i on而自‎动brea‎k,你得时‎刻留意避免‎长时间br‎e ak整个‎进程。

所以‎这样的调试‎方式对时间‎是个很大的‎考验,往往‎没有充裕的‎时间来做仔‎细分析。

‎另一种方‎式则是在出‎现问题的时‎候,比如C‎P U持续长‎时间100‎%,内存突‎然暴涨等非‎正常情况下‎,通过对服‎务进程sn‎a psho‎t抓取一个‎d ump文‎件,完成d‎u mp之后‎先deat‎c h,让进‎程继续运行‎。

然后用w‎i ndbg‎等工具来分‎析这个抓取‎到的dum‎p文件。

‎那么如何‎在不终止进‎程的情况下‎抓取dum‎p文件呢?‎D ebug‎g ing ‎T ools‎for ‎W indo‎w s 里提供‎了一个非常‎好的工具,‎a dplu‎s.vbs‎。

从名字可‎以看出,实‎际上是一个‎v b脚本,‎只是对cd‎b调试器作‎的一个包装‎脚本。

‎其路径与D‎e bugg‎i ng T‎o ols ‎f or W‎i ndow‎s的安装路‎径相同,使‎用的方法也‎很简单,如‎下所示:‎adpl‎u s.vb‎s -ha‎n g -p‎1234‎-o d‎:\dum‎p其中‎-hang‎指明使用h‎a ng模式‎,亦即在进‎程运行过程‎中附加上去‎s naps‎h ot抓取‎一个dum‎p文件,完‎成之后de‎t ach。

windebug使用方法

windebug使用方法

windebug使用方法WinDbg 使用方法WinDbg 是一款强大的 Windows 调试工具,被广泛应用于开发人员和调试专家之间。

它提供了一系列功能,帮助用户分析和调试 Windows 操作系统、驱动程序和应用程序中的问题。

以下是 WinDbg 的使用方法。

1. 下载和安装 WinDbg:您可以从微软官方网站下载最新版本的 WinDbg。

安装过程很简单,按照向导提示逐步进行即可。

2. 配置符号路径:符号文件包含了源代码的调试信息,是进行高级调试的关键。

在 WinDbg 中,您需要配置符号路径以便正确加载符号文件。

您可以通过 "File" 菜单下的 "Symbol File Path" 选项来配置符号路径。

3. 载入调试目标:在 WinDbg 中,可以通过多种方式来载入调试目标。

您可以通过 "File" 菜单下的 "Open Crash Dump" 选项来打开崩溃转储文件,或者通过"File" 菜单下的 "Attach to Process" 选项来附加到正在运行的进程。

4. 设置断点:断点是调试过程中非常有用的工具,可以帮助您在应用程序中指定的位置停止执行。

在 WinDbg 中,可以通过输入 "bp <地址>" 命令来设置断点。

例如,"bp 0x00400000" 命令将在指定地址处设置一个断点。

5. 运行调试:一旦设置了断点并准备好调试,您可以通过 "Debug" 菜单下的"Go" 命令来开始运行调试过程。

当应用程序执行到断点处时,调试过程会自动停止。

6. 分析调试信息:当调试过程中断时,您可以使用 WinDbg 提供的各种命令和功能来分析调试信息。

例如,您可以使用 "p" 命令来显示变量的值,使用 "k" 命令查看调用栈,使用 "lm" 命令列出模块信息等。

蓝屏dump分析教程(使用WinDbg)

蓝屏dump分析教程(使用WinDbg)

蓝屏dump分析教程(使用WinDbg)一、WinDbg是什么?它能做什么?WinDbg是在windows平台下,强大的用户态和内核态调试工具。

它能够通过dmp文件轻松的定位到问题根源,可用于分析蓝屏、程序崩溃(IE崩溃)原因,是我们日常工作中必不可少的一个有力工具,学会使用它,将有效提升我们的问题解决效率和准确率。

二、WinDbg6.12.0002.633下载:x86位版本下载:【微软官方安装版】蓝屏Dump分析工具WinDbg(x86).rar (13.2 MB, 11,437 次)x64位版本下载:【微软官方安装版】蓝屏Dump分析工具WinDbg(x64).rar (12.4 MB, 9,498 次)三、设置符号表:符号表是WinDbg关键的“数据库”,如果没有它,WinDbg基本上就是个废物,无法分析出更多问题原因。

所以使用WinDbg设置符号表,是必须要走的一步。

1、运行WinDbg软件,然后按【Ctrl+S】弹出符号表设置窗2、将符号表地址:SRV*C:\Symbols*/download/symbols粘贴在输入框中,点击确定即可。

注:红色字体为符号表本地存储路径,建议固定路径,可避免符号表重复下载。

四、学会打开第一个dmp文件!当你拿到一个dmp文件后,可使用【Ctrl+D】快捷键来打开一个dmp文件,或者点击WinDbg界面上的【File=>Open Crash Dump...】按钮,来打开一个dmp文件。

第一次打开dmp文件时,可能会收到如下提示,出现这个提示时,勾选“Don't ask again in this WinDbg session”,然后点否即可。

当你想打开第二个dmp文件时,可能因为上一个分析记录未清除,导致无法直接分析下一个dmp文件,此时你可以使用快捷键【Shift+F5】来关闭上一个dmp分析记录。

至此,简单的WinDbg使用你已经学会了!五、通过简单的几个步骤学会分析一些dmp文件。

微软系统蓝屏分析工具介绍

微软系统蓝屏分析工具介绍

微软系统蓝屏分析工具介绍微软Windows调试工具(Microsoft Debugging Tools for Windows)包括了一些调试程序WinDbg,KD,CDB,NTSD和其他的一些纠错工具,这些微软调试工具完全有能力运行在x86 ,安腾,或64位处理器的计算机上。

调试程序支持所有基于Windows NT的操作系统。

调试程序将调试操作系统,应用程序,服务和运行在的操作系统上驱动程序。

基于Windows NT的操作系统包括:o Windows "Longhorn" Server (All CPU architectures)o Microsoft Windows Vista (All CPU architectures)o Windows Server 2003 (All CPU architectures)o Windows XP (All CPU architectures)o Windows 2000 (x86)o Windows NT 4.0 (x86)用于Windows的调试工具包括如下文件。

下面的列表简要介绍了每一个工具,并通过哪个文件可以找到。

WinDbg(windbg.exe)用户模式和内核模式调试器的图形界面。

KD(kd.exe)内核模式调试器的控制台界面。

CDB(cdb.exe)用户模式调试器的控制台界面。

NTSD(ntsd.exe)用户模式调试器的控制台界面。

CDB和NTSD几乎完全相同。

微软Windows调试工具下载与安装Windows 调试工具 - 概述Windows 32 位版本的调试工具本文是以WinDbg_x86_6.6.07.5为例,讲解WinDbg的使用方法微软Windows调试工具的“帮助文件”可以对系统“蓝屏”报错时产生的“代码”进行分析,从而有助于我们初步确定蓝屏故障可能因素,如系统软件,或可能的相关硬件故障等;但系统在默认安装情况下,系统如果发生“蓝屏”后,会自动重新启动,往往会有无法获取蓝屏代码的情况;针对此类现象,我们可以通过对系统相关设置,来克服系统蓝屏,自动重启现象。

win7蓝屏分析与解决办法

win7蓝屏分析与解决办法

win7 蓝屏分析与解决办法-windbg 使用教程 WinDbg 是微软发布的一款相当优秀的源码级(source-level)调试工具, 可以用于 Kernel 模式调试和用户模式调试,还可以调试 Dump 文件。

1. WinDbg 介绍:Debugging Tools and Symbols: Getting Started /whdc/devtools/debugging/debugstart.mspx A word for WinDbg /communityserver/blogs/mike_taultys_blog/archive/2004/08/03/4656.aspx2. WinDbg 下载:Install Debugging Tools for Windows 32-bit Version /whdc/devtools/debugging/installx86.mspx Install Debugging Tools for Windows 64-bit Versions /whdc/devtools/debugging/install64bit.mspx3. 配置 WinDbg:运行 WinDbg->菜单->File->Symbol File Path->按照下面的方法设置_NT_SYMBOL_PATH 变量: 在弹出的框中输入“C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*/download/symbols”(按照这样设置,WinDbg 将先从本地文件夹 C:\MyCodesSymbols 中查找 Symbol,如果找不到,则自动从 MS 的 Symbol Server 上下载 Symbols)。

另一种做法是从这个 Symbol 下载地址中 /whdc/devtools/debugging/symbolpkg.mspx,下载相应操作系统所需要 的完整的 Symbol 安装包,并进行安装,例如我将其安装在 D:\WINDOWS\Symbols,在该框中输入 “D:\WINDOWS\Symbols”。

如何使用Debugging Tools for Windows (windebug)简单的使用心得

如何使用Debugging Tools for Windows (windebug)简单的使用心得

Debugging Tools for Windows是微软的一个蓝屏故障调试工具,可以方便地解决蓝屏问题。

一般地,电脑上已经设置过保存故障转储文件,但是,某些GHOST版的操作系统关掉了这个功能,我们必须打开它。

在“我的电脑”上按鼠标右键,属性找到“高级”选项卡,在“启动和故障恢复”处点击设置在这里设置为小内存转储(64K),节省磁盘空间当系统蓝屏以后,我们就可以在C:\WINDOWS\Minidump中发现dmp文件(蓝屏后的内存转储文件)。

启动Debugging Tools,依次点击“File”-“Open Crash Dump”选择蓝屏时产生的那个dmp文件打开之后,前面那些字符不用理会,注意最后一行1.安装debug工具下载页面地址:/whdc/devtools/debugging/installx86.mspx选择合适的版本安装2.安装Symbols(特征库)建议可以多安装以免出现分析不出来的情况下载地址:/whdc/devtools/debugging/symbolpkg.mspx 推荐使用VISTA的symbol packages,解析的更详细3.添加Symbols把Symbols的安装路径添加进去4.运行解析找到dump文件添加进去5.以下是一个例子当时的蓝屏代码是0X0000000A,操作系统是XP SP2,是一个QQ引起蓝屏的问题Loading Dump File [e:\!minidump\Mini032707-01.dmp]Mini Kernel Dump File: Only registers and stack trace are availableSymbol search path is: F:\WINDOWS\SymbolsExecutable search path is:Unable to load image ntoskrnl.exe, Win32 error 2*** WARNING: Unable to verify timestamp for ntoskrnl.exeWindows XP Kernel Version 2600 (Service Pack 2) UP Free x86 compatibleProduct: WinNt, suite: TerminalServer SingleUserTSKernel base = 0x804d8000 PsLoadedModuleList = 0x805543a0Debug session time: Tue Mar 27 08:12:47.390 2007 (GMT+8)System Uptime: 0 days 0:18:24.941Unable to load image ntoskrnl.exe, Win32 error 2*** WARNING: Unable to verify timestamp for ntoskrnl.exeLoading Kernel Symbols ............................................................................................................................. Loading User SymbolsLoading unloaded module list.............******************************************************************************** ** Bugcheck Analysis ** ********************************************************************************Use !analyze -v to get detailed debugging information.BugCheck 1000000A, {e1821a40, 2, 0, 805cf120}Unable to load image npkcusb.sys, Win32 error 2*** WARNING: Unable to verify timestamp for npkcusb.sys*** ERROR: Module load completed but symbols could not be loaded for npkcusb.sys Unable to load image hidusb.sys, Win32 error 2*** WARNING: Unable to verify timestamp for hidusb.sys*** WARNING: Unable to verify timestamp for HIDCLASS.SYSUnable to load image USBPORT.SYS, Win32 error 2*** WARNING: Unable to verify timestamp for USBPORT.SYSProbably caused by : npkcusb.sys ( npkcusb+384 )Followup: MachineOwner---------由于npkcusb.sys不是系统文件可以选择删除他来解决6.也有分析不出来的情况这个时候就需要多个minidump分析了如果出现如下的情况,则为symbols文件不足以分析这个dump文件;需要重新添加,或是寻找新的updata 文件。

电脑经常蓝屏死机怎么办?教你一招彻底解决蓝屏的方法【收藏备用】

电脑经常蓝屏死机怎么办?教你一招彻底解决蓝屏的方法【收藏备用】

相信很多朋友都遇到过“电脑突然蓝屏”或死机的烦恼!比如玩游戏的时候,聊天的时候,办公的时候,甚至是下载东西的时候,一下子蓝屏了就不知所措,辛辛苦苦工作了一天的数据,就随着蓝屏、死机而“一去不复返”了。

如果是对电脑不是很熟悉的朋友,遇到蓝屏就只能重启了,但是重启后发现还是会蓝屏,但是却始终无法解决问题。

那么,电脑蓝屏问题到底出现在哪里?下面跟大家详解一下为何会出现这些问题,以及出现了这些问题要怎么解决。

1首先介绍一下“电脑蓝屏”,蓝屏又称蓝屏死机,指的是微软系统Windows出现错误并且无法恢复时出现的一个页面,计算机无法正常响应出现的屏幕返回信息。

2导致电脑出现蓝屏的原因有:(1)系统问题:可能是内存、灰尘、或者硬盘、系统等等的问题,如何确认是系统问题,最好的方法就是换一块硬盘试试。

(2)BIOS不正常:将我们的BIOS设置成为初始化状态,把CMOS放点,因为不正常的BIOS 也会导致系统蓝屏。

3(3)电压问题:测量一下是不是电压出现了问题,比如电压不稳、电压过大、电压不稳等问题。

要知道,看似小小的电压问题也会导致电脑的蓝屏。

(4)CPU或者显卡问题:运行过多的程序会导致CPU内存过高,电脑温度升高,也会导致电脑蓝屏死机。

(5)如果是笔记本电脑,那有可能是风扇坏了:如果你发现你的电脑风扇声音很大,同时电脑摸起来很热,那很可能是风扇故障导致散热不好,也会致使电脑蓝屏死机。

4(6)时钟的问题:主板要正常运行,时钟是重要的条件之一。

如果时钟的工作频率太高,也会导致故障,出现电脑蓝屏、死机等问题。

(7)电脑中毒:如果你的电脑中毒、或者被植入了木马,也会导致蓝屏的。

这时候大家也可以用一些杀毒软件去清查一下是不是这个问题。

(8)笔记本软件不兼容:如果你下载了新的软件或者更新了你电脑里的软件,可能会导致系统与软件不兼容,也会导致电脑蓝屏、死机。

5电脑较常见的蓝屏原因以及避免的方法与解决办法(1)内存条接触不良或内存损坏导致电脑蓝屏;在系统运行过程中,几乎所有数据的高速存取操作都要在内存中进行,如果内存条接触不良或损坏, 系统数据的存取就会出现问题,很容易导致系统蓝屏和崩溃。

dump文件分析2篇

dump文件分析2篇

dump文件分析2篇第一篇:Windows dump文件分析Windows dump文件是一种用来记录系统崩溃信息的文件。

当Windows操作系统遇到蓝屏或其他严重错误时,会自动生成一个dump文件,其中包含系统状态和运行时数据,这对于问题诊断和修复非常重要。

在本文中,我们将介绍如何分析Windows dump文件,以帮助用户解决系统故障和崩溃问题。

一、获取dump文件通常,当Windows发生蓝屏或停机错误时,会在系统重启时自动生成一个dump文件,将其保存在C:\Windows\Minidump文件夹中。

如果用户没有设置该文件夹位置,则dump文件通常位于系统根目录的MEMORY.DMP文件中。

如果没有自动创建dump文件,则可以手动启用Windows内存转储(crash dump)功能,以生成dump文件。

二、分析dump文件通过分析Windows dump文件,我们可以得到以下信息:1、错误代码:告诉我们这次崩溃的是哪种类型的问题。

例如,错误代码0x0000007B表示硬盘损坏或驱动程序异常。

2、异常地址:崩溃时发生错误的代码位置,帮助我们确定问题来自哪个程序或驱动程序。

3、堆栈跟踪:程序崩溃时调用栈的状态。

从最后一个函数返回地址开始,逐个跟踪函数调用过程,以确定程序崩溃的原因。

以下是我们分析dump文件的步骤:1、使用Debugging Tools for Windows工具(例如WinDbg)打开dump文件。

2、在WinDbg中输入“!analyze -v”命令,以查看错误代码和异常地址。

3、使用“kb”命令查看堆栈跟踪,确定哪个驱动程序或应用程序导致崩溃。

4、在Google或Microsoft的搜索引擎中,输入发生错误代码的十六进制值,以查找可能的解决方案和修复。

例如,如果错误代码为0x0000007B,则可能是硬件设备或磁盘问题。

5、根据分析结果采取相应措施。

例如,更新所有驱动程序、检查硬件问题或升级操作系统。

如何使用Debugging Tools for Windows(简单的使用心得)分析蓝屏

如何使用Debugging Tools for Windows(简单的使用心得)分析蓝屏

Debugging Tools for Windows 学习使用心得其实我的主要工作一直是UI test,UI automation, manual test 等等。

曾经跟领导提过想做些深入点的测试,领导则反问“你Kernel debugging 怎样?”。

这是一个非常有趣的问题,你因为不具备良好的kernel debugging的能力,所以不给你做深入的测试工作,而因为你没有做深入的测试使你也不可能具备kernel debugging的能力。

很多时候事情就是如此矛盾的,而我也曾经说过,一切最终还得靠自己。

前几天发现一个奇怪的bug,分给这里的一个seniro dev他也没太多的办法。

我在一个高手的指导下自己debug and figure out了root cause。

在和这个高手的交流中,也基本明确了一下步的学习目标。

以前的我主要是靠自己摸索,我想多跟高手接触,交流还是非常非常有帮助的,当然机会也不是很多。

那么我的下一步的目标就是“code review, debugging, windows internal and WDM”。

Debugging可以说贯穿了其他的三个,因此我今天先谈谈我对debuggingtools的感受。

我们基本都是用微软提供的几个debuggers,ntsd, cdb, kd, windbg。

ntsd和cbd是user mode debugger, kd是kernel mode debugger, 他们都是command line的,而windbg是UI的debugger, 可以调试both user and kernel mode。

大多数情况,我都是用windbg,但是在一些特殊的情况下,我还是需要其他的tools。

今天我主要是谈windbg,我想学习windbg大概分这么几个阶段:windbg的命令,共三种命令,普通命令,加'.'的命令和加'!'的命令。

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

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

Windows 蓝屏检测/分析思路一.基本概念1.页面文件指操作系统反映构建并使用虚拟内存的硬盘空间大小所使用的文件。

具体来说,在windows操作系统下pagefile.sys这个文件,它就是系统页面文件(也就是大家熟知的虚拟内存文件),它的大小取决于打开的程序多少和你原先设置页面文件的最小最大值,是不断变化的,有时可能只有几十M,有时则达到600M以上。

2.小存储器转储文件小存储器转储文件记录可帮助确定计算机为什么意外停止的最小的有用信息集。

此选项要求启动卷(一般指系统分区,如 C 区)上有一个至少为 2 MB 的页面文件。

在运行 Microsoft Windows 2000 或更高版本的计算机上,计算机每次意外停止时 Windows 都会新建一个文件。

这些文件的历史记录存储在一个文件夹中。

二.DUMP 文件1.概念: Dump文件是进程的内存镜像。

可以把程序的执行状态通过调试器保存到dump文件中。

该文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如使用WinDbg打开。

2.用途: Dump 文件分析很大程度上就是分析蓝屏产生的原因。

这种系统级的错误算是Windows提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等)。

说它是比较严重,是因为毕竟Windows还提供了dump文件给用户分析,至少能比较容易的找到错误的原因。

一般蓝屏要么是内核程序中的异常或违规,要么是数据结构的损坏,也有启动或关机的时候内核出错。

有时候蓝屏是一闪而过,紧接着是系统重启;有时候是蓝屏等待。

总之蓝屏的时候都提示了一些停止代码和错误信息,不过这些提示是不全面的,最多知道哪个模块出错(比如驱动)。

想了解进一步的信息,或者通过搜索引擎,最好的方式当然是dump文件分析。

当然,如果有更进一步研究的欲望,内核调试是更好的方法,不过这需要某些软件支持和调试技巧。

3.类型Dump文件有三种:完整内存转储,内核内存转储,小内存转储。

电脑蓝屏错误代码记不住怎么办?教你查看蓝屏日志

电脑蓝屏错误代码记不住怎么办?教你查看蓝屏日志

电脑出现蓝底白字的时候,那些白字,就是一串数字加字母,就是错误代码,通过错误代码,可以判断电脑蓝屏的原因。

不过这个蓝底白字显示的时间特别短,一般人记不住。

其实,windows系统每次出错,都会有相应的日志被记录下来,只要找到日志,加以分析,找到蓝屏的原因就好办了。

悲剧的蓝屏Step1:查找日志,XP和Vista的步骤差不多右键我的电脑—高级(Vista下是高级系统设置)—启动和故障恢复下的设置。

蓝屏的日志有可能在Minidump文件夹,也有可能是MEMORY.DMP文件,在启动和故障文件这里是可判断的。

这个界面最下面,会有一个路径,如果显示的是:小内存转储(64K),对应的路径是%SystemRoot%\Minidump,蓝屏的日志就保存在Minidump文件夹。

真实地址是:系统盘-windows文件夹-Minidump文件夹里面。

也有一种可能,就是蓝屏的时候,由操作系统将当时内存(含虚拟内存)中的数据直接写到文件中去,生成MEMORY.DMP文件,这个文件就在Windows目录下。

Step2:找一个日志查看软件蓝屏的日志文件,只有用专门的软件能查看,我试着用TXT是不行。

建议用微软官方的WinDbg,下载地址:/whdc/devtools/debugging/default.mspxInstall Debugging Tools for Windows 32-bit VersionInstall Debugging Tools for Windows 64-bit Version这两个分别对应32位与64位的系统,点进去下载最新的版本即可。

Step3:查看日志运行WinDbg—open crash dump,可以打开日志文件,这个时候可以看到蓝屏日志,也就是蓝屏时候的错误代码。

但是,这时候还看不到是哪个程序引起蓝屏的。

还需要在WinDbg下方输入!analyze -v,记得带上感叹号,这时会显示全部的日志文件。

蓝屏原理

蓝屏原理

原理:操作系统在遇到致命错误导致崩溃时,并不是直接HALT掉,而是会记录下当时内存中的数据,将其存储成为dump文件,并用一串蓝屏代码向用户做出提示。

,所以,我们就要用到专门工具,来分析DUMP文件,以得出蓝屏原因。

-----------------------------------------------------我是分割线---------------------------------------------------------------------------------------------------下面开始行动!所需工具:windbg(下载地址:/download/symbols/debuggers/dbg_x86_6.11.1.404.msi,这个版本旧一点,但兼容性比最新版好~~)+一台能上网的电脑。

-----------------------------------------------------我是分割线---------------------------------------------------------------------------------------------------一、Dump文件的获取啦啦啦,蓝屏啦(都蓝屏了还开心?)!系统重启后,请进入X(系统盘符):\WINDOWS\MINIDUMP\下寻找DMP文件(没有的请看最后部分:如何打开内存转储),找到最近的一个(根据文件修改时间找,或者用事件日志找:右击我的电脑(Win7为“计算机”),管理,系统工具,事件查看器,系统,找出来源为Save Dump的,打开就是),复制出来备用~~二、下载windbg并安装这个~~~不用说了吧,一路NEXT即可~~三、用windbg分析蓝屏文件1、设置符号路径(注意:这个很重要!不然会可能导致分析错误!很多教程都没有这个~~)原因:在你分析时,如果windbg没有设置符号的路径(关于符号,请参考/kb/311503),那么你的当前系统必须和发生蓝屏的系统的Ntoskrnl.exe版本相同,否则就有找不到符号的问题产生。

蓝屏Dump文件分析方法

蓝屏Dump文件分析方法

蓝屏Dump⽂件分析⽅法WinDbg使⽤有点⿇烦,还要符号表什么的。

试了下,感觉显⽰很乱,分析的也不够全⾯。

试试其他的吧!今天电脑蓝屏了,就使⽤其dump⽂件测试,如下:1、⾸先,最详细的,要属Osr Online这个在线分析⽹站了:打开其分析地址:下拉,找到上传按钮(上图),将需要分析的dump⽂件浏览上传即可。

dump⽂件⼀般在C:\Windows\minidump下分析完成后⽣成的内容⾮常多:主要看第⼀个Primary Analysis就好了:Crash Dump Analysis provided by OSR Open Systems Resources, Inc. ()Online Crash Dump Analysis ServiceSee for more informationWindows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64Product: WinNt, suite: TerminalServer SingleUserTSBuilt by: 7601.18741.amd64fre.win7sp1_gdr.150202-1526Machine Name:Kernel base = 0xfffff800`04606000 PsLoadedModuleList = 0xfffff800`0484a890Debug session time: Sun Mar 1307:26:48.1292016 (UTC - 4:00)System Uptime: 12 days 22:27:09.972******************************************************************************** ** Bugcheck Analysis ** ********************************************************************************SYSTEM_SERVICE_EXCEPTION (3b)An exception happened while executing a system service routine.Arguments:Arg1: 00000000c0000005, Exception code that caused the bugcheckArg2: fffff960000c7237, Address of the instruction which caused the bugcheckArg3: fffff88006e6e9d0, Address of the context record for the exception that caused the bugcheckArg4: 0000000000000000, zero.Debugging Details:------------------TRIAGER: Could not open triage file : e:\dump_analysis\program\triage\modclass.ini, error 2EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s".FAULTING_IP:win32k!HmgLockEx+a3fffff960`000c7237 0fb7430c movzx eax,word ptr [rbx+0Ch]CONTEXT: fffff88006e6e9d0 -- (.cxr 0xfffff88006e6e9d0)rax=fffff900c0210000 rbx=0000000000000000 rcx=fffffa800cc05b50rdx=fffff900c0210000 rsi=0000000000000000 rdi=fffff900c0210000rip=fffff960000c7237 rsp=fffff88006e6f3b0 rbp=0000000000000000r8=0000000000000001 r9=0000000000000000 r10=0000000000000000r11=fffff88006e6f418 r12=000000006601ac00 r13=0000000000000000r14=0000000000000001 r15=0000000000000001iopl=0 nv up ei pl zr na po nccs=0010 ss=0000 ds=002b es=002b fs=0053 gs=002b efl=00010246win32k!HmgLockEx+0xa3:fffff960`000c7237 0fb7430c movzx eax,word ptr [rbx+0Ch] ds:002b:00000000`0000000c=????Resetting default scopeCUSTOMER_CRASH_COUNT: 2DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULTBUGCHECK_STR: 0x3BPROCESS_NAME: dwm.exeCURRENT_IRQL: 0LAST_CONTROL_TRANSFER: from fffff9600028dc00 to fffff960000c7237STACK_TEXT:fffff880`06e6f3b0 fffff960`0028dc00 : fffff900`cddb1320 000006ff`31355348 fffff900`c00cd010 fffff900`d3bc6010 : win32k!HmgLockEx+0xa3fffff880`06e6f420 fffff960`001e3a4c : fffff900`cddb1320 fffff900`cddb1320 fffff900`c00cd010 fffff900`c00cd070 : win32k!SFMLOGICALSURFACE::OwnsSurfaceCleanup+0x40 fffff880`06e6f450 fffff960`001570f9 : fffff900`00000001 fffff900`d3bc6028 00000000`0000000000000029`00000029 : win32k!GreTransferDwmStateToSpriteState+0xf4fffff880`06e6f540 fffff960`0015768d : 00000000`0000000100000000`0000000000000000`00000001 fffff960`00000000 : win32k!zzzDecomposeDesktop+0x139fffff880`06e6f5d0 fffff960`0012c40b : fffffa80`0c132690 fffff880`06e6fae0 00000000`0000000100000000`00000000 : win32k!xxxDwmStopRedirection+0x69fffff880`06e6f620 fffff960`000cad71 : 00000000`0000000000000000`00000000 fffff900`c04010e0 fffffa80`0cc05b00 : win32k!xxxDwmProcessShutdown+0x3bfffff880`06e6f650 fffff960`000ef8d3 : fffff900`c2197c48 fffff900`c2197c20 fffff900`c2197c20 fffff900`c2197c20 : win32k!xxxDestroyThreadInfo+0x5a9fffff880`06e6f720 fffff960`000c6c10 : 00000000`00000000 fffffa80`0cc05b50 fffffa80`0cc05b50 00000000`00000001 : win32k!UserThreadCallout+0x93fffff880`06e6f750 fffff800`04952615 : 00000000`0000000000000000`0000000000000000`00000000 fffffa80`0cc05b00 : win32k!W32pThreadCallout+0x78fffff880`06e6f780 fffff800`04938a75 : 00000000`c0000005 00000000`0000000000000000`7845730000000000`00000000 : nt!PspExitThread+0x285fffff880`06e6f880 fffff800`0466e6fa : 00000000`00000002 fffffa80`0cc05c58 fffff880`06e6fa10 fffff800`047f7e80 : nt!PsExitSpecialApc+0x1dfffff880`06e6f8b0 fffff800`0466ea40 : 00000000`000ff530 fffff880`06e6f930 fffff800`049389e8 00000000`00000001 : nt!KiDeliverApc+0x2cafffff880`06e6f930 fffff800`0467a1f7 : fffffa80`0cc05b50 00000000`000ff418 fffff880`06e6fa88 00000000`00000000 : nt!KiInitiateUserApc+0x70fffff880`06e6fa70 00000000`76e0186a : 00000000`0000000000000000`0000000000000000`0000000000000000`00000000 : nt!KiSystemServiceExit+0x9c00000000`000ff3f8 00000000`00000000 : 00000000`0000000000000000`0000000000000000`0000000000000000`00000000 : 0x76e0186aFOLLOWUP_IP:win32k!HmgLockEx+a3fffff960`000c7237 0fb7430c movzx eax,word ptr [rbx+0Ch]SYMBOL_STACK_INDEX: 0SYMBOL_NAME: win32k!HmgLockEx+a3FOLLOWUP_NAME: MachineOwnerMODULE_NAME: win32kIMAGE_NAME: win32k.sysDEBUG_FLR_IMAGE_TIMESTAMP: 54ee9222STACK_COMMAND: .cxr 0xfffff88006e6e9d0 ; kbFAILURE_BUCKET_ID: X64_0x3B_win32k!HmgLockEx+a3BUCKET_ID: X64_0x3B_win32k!HmgLockEx+a3Followup: MachineOwner---------Primary Analysis⾥⾯提到的重点就是dwm.exe和win32k.sys。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

先声明下,虽然用windbg诊断蓝屏之前网络上已经有人发过教程了,但就我而言,学会使用windbg来诊断蓝屏也算是自己的原创吧。

以前看一个微软专家的视频(微软专家张银奎老师的《如何诊断和调试蓝屏错误》),专家提到可以用windbg来调试dump文件,当时我就想能不能只关注是什么文件导致的系统崩溃,然后对症下药。

后来通过一系列的实验,自己摸索出了用windbg诊断蓝屏的方法,成功解决了包括KIS7.0插件、QQ插件、迅雷插件导致的蓝屏。

废话就不多说了,本文没什么高深的技术,只是一些简单的操作,但应该可以让身陷蓝屏困扰中的朋友带来些变化,起码能让你知道是谁在捣乱!
直观地说,蓝屏是系统崩溃。

操作系统在遇到致命错误导致崩溃时,并不是直接挂掉,而是会记录下当时内存中的数据,将其存储成为dump文件,并用一串蓝屏代码向用户做出提示。

好了,大家跟我一起设置吧。

第一步,打开电脑的dump文件存储功能。

在“我的电脑”上右键——属性——高级
选好后点确定,下次再出现蓝屏时,系统就会存储下dump文件,一般存放位置在系统盘的minidump文件夹下。

(建议在该文件夹上点右键——属性——发送到——桌面快捷方式,以后就能在桌面上找到该文件夹了)
第二步,下载安装windbg
/whdc/devtools/debugging/installx86.mspx#a
这个过程就不说了,随便选一个下载,安装时,一路“下一步”就行了。

第三步,使用windbg诊断蓝屏错误
上面两步设好后,就想办法开始“制造”蓝屏吧,平时怎么用会出现蓝屏就拼命用直到出现蓝屏,嘿嘿。

蓝屏后重启,在minidump文件夹下会出现一个以日期为文件名的东东,那就是我们要的了。

接下来打开windbg,点屏幕左下的“开始”,如下图:
软件启动点File——Open Crash Dump,如图:
然后找到你的minidump文件夹,dump文件一般是"时间.dmp"如图:
打开后就会自动分析了。

分析完后,看最下面,找到3.probably caused by这一行,如图:
看,出来了吧那个myfault.sys文件就是罪魁祸首。

再补充点东西,
导入dump文件分析完毕后,不要关闭,在后面输入!analyze -v ,这个命令可以查看dump文件的详细情况,如图:
对普通用户有用的还有下面一些信息:
第一行DEFAULT_BUCKET_ID: 错误类型,这个懂点编程和操作系统知识的朋友用得上点
第三行PROCESS_NAME: XXX.exe 这个是导致错误的进程,查出是什么文件导致的蓝屏后,再看这里就知道是谁调用了错误文件,比如你查出123.sys导致蓝屏,但你查不到123.sys是哪个程序调用的,就可以用这个方法来看看,比如查出了是456.exe,你就可以在机子上或者网上搜索相关信息了。

好了,到这里相信大家已经学会怎么找到导致系统蓝屏的文件了,接下来怎么办呢?上网查资料,把导致蓝屏的那个文件名在网上搜索,基本就知道是什么文件了,一般网上也有相关的解决办法,看看要删除些什么插件、打什么补丁或者重装软件等等。

导致问题的不一定是.sys文件也有可能是.dll,这篇文章只能帮你找出导致蓝屏的元凶,具体的解决办法得上网查。

如果是查不到什么信息的.sys或者.dll就要当心了,有可能是病毒或者rootkit
附:
windbg基本调试命令:
r 可以显示系统崩溃时的寄存器,和最后的命令状态。

dd 显示当前内存地址,dd 参数:显示参数处的内存。

u 可以显示反汇编的指令
!analyze -v 显示分析的详细信息。

kb 显示call stack 内容
.bugcheck 可以显示出错的代码
windbg诊断蓝屏的一点补充
导入dump文件分析完毕后,不要关闭,在后面输入!analyze -v,这个命令可以查看dump文件的详细情况,如图:
对普通用户有用的还有下面一些信息:
第一行DEFAULT_BUCKET_ID: 错误类型,这个懂点编程和操作系统知识的朋友用得上点
第三行PROCESS_NAME: XXX.exe 这个是导致错误的进程,查出是什么文件导致的蓝屏后,再看这里就知道是谁调用了错误文件,比如你查出123.sys导致蓝屏,但你查不到123.sys是哪个程序调用的,就可以用这个方法来看看,比如查出了是456.exe,你就可以在机子上或者网上搜索相关信息了。

相关文档
最新文档