您的位置:首页 > 其它

资料:在 Windows XP 中内存转储后如何搜集信息

2008-04-03 00:41 316 查看
概要
本文介绍如何搜集有关出现在蓝屏上的错误信息的更多信息。请注意,这些步骤不总是提供最终的答案,可能仅仅是指出了另一个问题。

处理事件日志消息
• 将 Windows 配置为写出含有检测错误信息的事件日志消息:1. 单击开始按钮,然后单击控制面板。
2. 双击系统图标,然后单击高级选项卡。
3. 在"启动和故障恢复"部分,单击设置,然后单击选择"将事件写入系统日志"复选框。
一条事件日志消息随即写入系统日志。

• 一条事件日志消息随即写入系统日志。事件日志的说明和格式与计算机写入 Memory.dmp 文件时屏幕上所显示的格式不同,但大部分信息是相同的。以下是事件日志的一个示例:
事件 ID:1001
来源:保存转储
说明:The computer has rebooted from a bugcheck.
The bugcheck was:0xc000021a (0xe1270188, 0x00000001, 0x00000000, 0x00000000).Microsoft Windows NT (v15.1381)。
A dump was saved in:C:/WINNT/MEMORY.DMP.
此信息包含 STOP 代码 0xc000021a 和四个参数。在解决某些类型的 STOP 代码问题时,这些信息可能是非常有用的。参数的含义因 STOP 代码的类型而异。

有关参数含义的信息,请在 Microsoft 知识库中查找具体的 STOP 代码。(Microsoft 知识库并没有包含所有的 STOP 代码参数。)若要查询 Microsoft 知识库,请访问以下 Microsoft Web 站点:
http://support.microsoft.com/support (http://support.microsoft.com/?scid=http%3a%2f%2fsupport.microsoft.com%2fsupport)

使用 Dumpchk.exe 确定内存转储信息

如果使用 Dumpchk.exe,可以确定以上所有信息和产生停止消息的驱动程序的地址。此信息通常使您能够找到疑难解答的着手点。运行 Dumpchk.exe 之前,一定要调整命令提示符的属性,将屏幕缓冲区大小高度设为 999。这一高度使您能够向后滚动查看输出。在命令提示窗口运行 Dumpchk.exe,使用以下语法:
dumpchk.exe Memory.dmp
这是输出中最有用部分的示例。 MachineImageType i386

Quote:
NumberProcessors 1
BugCheckCode 0xc000021a
BugCheckParameter2 0x00000001
BugCheckParameter3 0x00000000
BugCheckParameter4 0x00000000

ExceptionCode 0x80000003
ExceptionFlags 0x00000001
ExceptionAddress 0x8014fb84

请注意,并非所有部分都提供相同的信息。信息因 STOP 代码的类型而异。前面的信息告诉您 STOP 代码 (0xc000021a) 和参数(0xe1270188、0x00000001、0x00000000、0x00000000),以及调用异常 (0x8014fb84) 的驱动程序的地址。可以利用运行 Pstat.exe(位于 Resource Kit 中)所产生的输出,用此地址来识别驱动程序名。

Dumpchk.exe 还可以验证转储是否有效。

有关如何使用 Dumpchk.exe 的其他信息,请单击下面的文章编号,查看 Microsoft 知识库中的文章:
156280 (http://support.microsoft.com/kb/156280/EN-US/) How to Use Dumpchk.exe to Check a Memory Dump File(如何使用 Dumpchk.exe 检查内存转储文件)

使用 Pstat.exe 识别驱动程序

运行 Pstat.exe 这个资源工具包实用工具,可以对当前计算机上运行的进程和驱动程序有一个初步的了解。出于诊断目的,最有用的信息是出现在输出最后的加载驱动程序列表。

从命令行运行 Pstat.exe。通过使用以下命令语法,可以将由 Pstat.exe 接收到的信息输入到文件:
pstat.exe > filename
这是出现在输出最后的驱动程序列表的示例:

Quote:
ModuleName LoadAddr Code Data Paged LinkDate
----------------------------------------------------------------------
Ntoskrnl.exe 80100000 270272 40064 434816 Sun May 11 00:10:39 1997
Hal.dll 80010000 20384 2720 9344 Mon Mar 10 16:39:20 1997
Aic78xx.sys 80001000 20512 2272 0 Sat Apr 05 21:16:21 1997
Scsiport.sys 801d7000 9824 32 15552 Mon Mar 10 16:42:27 1997
Disk.sys 80008000 3328 0 7072 Thu Apr 24 22:27:46 1997
Class2.sys 8000c000 7040 0 1632 Thu Apr 24 22:23:43 1997
Ino_flpy.sys 801df000 9152 1472 2080 Tue May 26 18:21:40 1998
Ntfs.sys 801e3000 68160 5408 269632 Thu Apr 17 22:02:31 1997
Floppy.sys f7290000 1088 672 7968 Wed Jul 17 00:31:09 1996
Cdrom.sys f72a0000 12608 32 3072 Wed Jul 17 00:31:29 1996
Cdaudio.sys f72b8000 960 0 14912 Mon Mar 17 18:21:15 1997
Null.sys f75c9000 0 0 288 Wed Jul 17 00:31:21 1996
KSecDD.sys f7464000 1280 224 3456 Wed Jul 17 20:34:19 1996
Beep.sys f75ca000 1184 0 0 Wed Apr 23 15:19:43 1997
Cs32ba11.sys fcd1a000 52384 45344 14592 Wed Mar 12 17:22:33 1997
Msi8042.sys f7000000 20192 1536 0 Mon Mar 23 22:46:22 1998
Mouclass.sys f7470000 1984 0 0 Mon Mar 10 16:43:11 1997
Kbdclass.sys f7478000 1952 0 0 Wed Jul 17 00:31:16 1996
Videoprt.sys f72d8000 2080 128 11296 Mon Mar 10 16:41:37 1997
Ati.sys f7010000 960 9824 48768 Fri Dec 12 15:20:37 1997
Vga.sys f7488000 128 32 10784 Wed Jul 17 00:30:37 1996
Msfs.sys f7308000 864 32 15328 Mon Mar 10 16:45:01 1997
Npfs.sys f7020000 6560 192 22624 Mon Mar 10 16:44:48 1997
Ndis.sys fccda000 11744 704 96768 Thu Apr 17 22:19:45 1997
Win32k.sys a0000000 1162624 40064 0 Fri Apr 25 21:17:32 1997
Ati.dll fccba000 106176 17024 0 Fri Dec 12 15:20:08 1997
Cdfs.sys f7050000 5088 608 45984 Mon Mar 10 16:57:04 1997
Ino_fltr.sys fc42f000 29120 38176 1888 Tue Jun 02 16:33:05 1998
Tdi.sys fc4a2000 4480 96 288 Wed Jul 17 00:39:08 1996
Tcpip.sys fc40b000 108128 7008 10176 Fri May 09 17:02:39 1997
Netbt.sys fc3ee000 79808 1216 23872 Sat Apr 26 21:00:42 1997
El90x.sys f7320000 24576 1536 0 Wed Jun 26 20:04:31 1996
Afd.sys f70d0000 1696 928 48672 Thu Apr 10 15:09:17 1997
Netbios.sys f7280000 13280 224 10720 Mon Mar 10 16:56:01 1997
Parport.sys f7460000 3424 32 0 Wed Jul 17 00:31:23 1996
Parallel.sys f746c000 7904 32 0 Wed Jul 17 00:31:23 1996
ParVdm.sys f7552000 1312 32 0 Wed Jul 17 00:31:25 1996
Serial.sys f7120000 2560 0 18784 Mon Mar 10 16:44:11 1997
Rdr.sys fc385000 13472 1984 219104 Wed Mar 26 14:22:36 1997
Mup.sys fc374000 2208 6752 48864 Mon Mar 10 16:57:09 1997
Srv.sys fc24a000 42848 7488 163680 Fri Apr 25 13:59:31 1997
Pscript.dll f9ec3000 0 0 0
Fastfat.sys f9e00000 6720 672 114368 Mon Apr 21 16:50:22 1997
NTdll.dll 77f60000 237568 20480 0 Fri Apr 11 16:38:50 1997
----------------------------------------------------------------------
总计 2377632 255040 1696384

通过使用 LoadAddr 列中的起始地址,可以将异常地址与驱动程序名进行匹配。以 8014fb84 为例,可以确定 Ntoskrnl.exe 在异常地址下有最近的加载地址,并且是最有可能调用异常的驱动程序。有了这些信息,您就可以到 Microsoft 知识库查找与您的情况相匹配的已知问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: