Windows 包含一种功能,可以用来促使系统停止响应并生成内存转储文件 (Memory.dmp)。在您执行此操作时,可能会收到一条类似以下内容的 Stop 错误消息:
*** STOP:0x000000E2 (0x00000000,0x00000000,0x00000000,0x00000000) The end-user manually generated the crashdump.
启用此功能后,按住右 Ctrl 键,同时按 Scroll Lock 键两次,即可生成一个内存转储文件。此功能适用于 PS/2 键盘和通用串行总线 (USB) 键盘。PS/2 键盘使用键盘自带的 i8042prt.sys 驱动程序。但是,对于 USB 键盘,则必须为 Kbdhid.sys 驱动程序安装一个修补程序。有关此修补程序的更多信息,请参见“更多信息”部分末尾的“Windows Server 2003 解决方案”小节。 注意:允许使用 USB 键盘生成内存转储过程的 Kbdhid.sys 驱动程序存在一定局限性。这就是,当计算机在高中断请求级别 (IRQL) 停止响应时,Ctrl+Scroll Lock+Scroll Lock 键盘快捷方式不起作用。之所以存在此局限性是因为与 i8042prt.sys 驱动程序相比,Kbdhid.sys 驱动程序运行时的 IRQL 较低。此 USB 键盘功能只在运行 Microsoft Windows Server 2003 的计算机上起作用。
更多信息
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些...
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。 默认情况下,禁用此功能。要在使用 PS/2 键盘的计算机上启用此功能,需按本文中的说明修改注册表,然后重新启动计算机。在重新启动计算机后,按住 Ctrl 键,同时按 Scroll Lock 键两次,即可生成一个 Memory.dmp 文件。必须使用空格键右侧的 Ctrl 键。在使用 USB 键盘的计算机上,不必重新启动计算机。只需拔掉键盘然后再将它重新插上。然后,便能生成 Memory.dmp 文件。 要在使用 PS/2 键盘的计算机上启用此功能,请按照下列步骤操作:
- 启动注册表编辑器。
- 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
- 在“编辑”菜单上,单击“添加值”,然后添加以下注册表项:
名称:CrashOnCtrlScroll 数据类型:REG_DWORD 值:1
- 退出注册表编辑器,然后重新启动计算机。
要在使用 USB 键盘的计算机上启用此功能,需安装“更多信息”部分末尾的“Windows Server 2003 解决方案”小节中提到的修补程序。 要确保在使用 USB 键盘的计算机上启用此功能,请按照下列步骤操作:
- 启动注册表编辑器。
- 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
- 确保启用了以下注册表项:
名称:CrashOnCtrlScroll 数据类型:REG_DWORD 值:1
- 退出注册表编辑器。
如何选择内存转储文件选项
可以生成三种类型的内存转储文件。在手动触发转储文件前,先选择该文件。为此,请按照下列步骤操作:
- 右键单击“我的电脑”,然后单击“属性”。
- 单击“高级”选项卡,然后单击“启动和故障恢复”按钮。
- 单击“写入调试信息”,然后单击以选中“完全内存转储”、“核心内存转储”或“小内存转储”。
有关内存转储文件选项的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
254649 (http://support.microsoft.com/kb/254649/ ) Windows Server 2003、Windows XP 和 Windows 2000 内存转储文件选项概述
注意:如果服务器中有像某些 Compaq 计算机中所具有的“自动系统重启”(ASR) 这样的功能,请禁用它。因为该功能会中断转储过程。在 Compaq 计算机上,您可以通过修改基本输入/输出系统 (BIOS) 设置来禁用 ASR 功能。 注意:在具有 2 GB 或更多 RAM 的计算机上,不能进行完全内存转储。要限制 Windows 2000 可以访问的内存,请向 Boot.ini 文件中添加 <MaxMem=2000> 参数。 如果已经安装了 Microsoft 知识库文章 835732 中描述的安全更新,或安装了包含此安全更新的 Service Pack,请查看下面的 Microsoft 知识库文章:
885117 (http://support.microsoft.com/kb/885117/ ) “启动和故障恢复”中显示“核心内存转储”,但在 Windows 2000 或 Windows Server 2003 中执行完全内存转储
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
835732 (http://support.microsoft.com/kb/835732/ ) MS04-011:Microsoft Windows 安全更新
Service Pack 信息
要解决此问题,请获取最新的 Windows Server 2003 Service Pack。有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
889100 (http://support.microsoft.com/kb/889100/ ) 如何获取最新的 Windows Server 2003 Service Pack
修补程序信息
Microsoft 现在提供了一个受支持的修补程序,但是,此修补程序仅用于修复本文所述的问题。请仅将此修补程序应用于出现这一特定问题的系统。此修补程序可能还会接受进一步的测试。因此,如果这个问题没有对您造成严重影响,我们建议您等待包含此修补程序的下一个 Windows Server 2003 Service Pack。 要解决此问题,请向 Microsoft 在线客户服务提交请求以获取该修补程序。要提交联机请求以获取该修补程序,请访问下面的 Microsoft 网站:
注意:如果发生其他问题或需要进行任何疑难解答,则您可能需要创建单独的服务请求。对于此特定修补程序无法解决的其他支持问题和事项,将照常收取支持费用。要创建单独的服务请求,请访问下面的 Microsoft 网站:
先决条件
要应用此修补程序,必须在计算机上安装 Windows Server 2003 或 Windows Server 2003 Service Pack 1。
重新启动要求
应用此修补程序后,必须重新启动计算机。
修补程序替代信息
此修补程序不替代任何其他修补程序。
文件信息
此修补程序的英文版具有下表中列出的文件属性(或更新的文件属性)。这些文件的日期和时间按协调世界时 (UTC) 列出。当您查看文件信息时,该时间将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项的“时区”选项卡。
Windows Server 2003(基于 x86 的 32 位版本)
收起该表格展开该表格
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
SP 要求 |
服务分支 |
Kbdhid.sys |
5.2.3790.493 |
16,896 |
28-Feb-2006 |
00:03 |
x86 |
无 |
RTMQFE |
Kbdhid.sys |
5.2.3790.2649 |
17,408 |
28-Feb-2006 |
03:11 |
x86 |
SP1 |
SP1QFE |
Windows Server 2003(基于 x64 的版本)
收起该表格展开该表格
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
Kbdhid.sys |
5.2.3790.2649 |
24,576 |
13-Apr-2006 |
15:59 |
x64 |
Windows Server 2003(基于 Itanium 的版本)
收起该表格展开该表格
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
SP 要求 |
服务分支 |
Kbdhid.sys |
5.2.3790.493 |
47,104 |
13-Apr-2006 |
15:54 |
IA-64 |
无 |
RTMQFE |
Kbdhid.sys |
5.2.3790.2649 |
49,664 |
13-Apr-2006 |
15:59 |
IA-64 |
SP1 |
SP1QFE |
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
928839 (http://support.microsoft.com/kb/928839/ ) 如何使用键盘在 Virtual Server 2005 来宾计算机上生成内存转储文件
配置注册表项以生成内存转储文件
可以在以下注册表子项下配置相应项以生成内存转储文件:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\crashdump
REG_DWORD 项如下所示:
Dump1Keys Dump2Key
Dump1Keys 项是要使用的修改键的位图。其值包括:
#define CRASH_R_SHIFT 0x01 #define CRASH_R_CTRL 0x02 #define CRASH_R_ALT 0x04 #define CRASH_L_SHIFT 0x10 #define CRASH_L_CTRL 0x20 #define CRASH_L_ALT 0x40
Dump2Key 项是键盘布局扫描码表中的索引。下面是驱动程序中的实际表。 注意:索引 124 (sysreq) 是一种特殊情形,因为一个 84 键的键盘具有不同的扫描码。
const UCHAR keyToScanTbl[134] = {
0x00,0x29,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
0x0A,0x0B,0x0C,0x0D,0x7D,0x0E,0x0F,0x10,0x11,0x12,
0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x00,
0x3A,0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,
0x27,0x28,0x2B,0x1C,0x2A,0x00,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x73,0x36,0x1D,0x00,
0x38,0x39,0xB8,0x00,0x9D,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xD2,0xD3,0x00,0x00,0xCB,
0xC7,0xCF,0x00,0xC8,0xD0,0xC9,0xD1,0x00,0x00,0xCD,
0x45,0x47,0x4B,0x4F,0x00,0xB5,0x48,0x4C,0x50,0x52,
0x37,0x49,0x4D,0x51,0x53,0x4A,0x4E,0x00,0x9C,0x00,
0x01,0x00,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,
0x43,0x44,0x57,0x58,0x00,0x46,0x00,0x00,0x00,0x00,
0x00,0x7B,0x79,0x70 };
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。对于这些产品的性能或可靠性,Microsoft 不作任何暗示保证或其他形式的保证。
|