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 鍵盤的計算機上啟用此功能,請按照下列步驟操作:
  1. 啟動注冊表編輯器。
  2. 找到以下注冊表子項:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
  3. 在“編輯”菜單上,單擊“添加值”,然后添加以下注冊表項:
    名稱:CrashOnCtrlScroll
    數據類型:REG_DWORD
    :1
  4. 退出注冊表編輯器,然后重新啟動計算機。
要在使用 USB 鍵盤的計算機上啟用此功能,需安裝“更多信息”部分末尾的“Windows Server 2003 解決方案”小節中提到的修補程序。

要確保在使用 USB 鍵盤的計算機上啟用此功能,請按照下列步驟操作:
  1. 啟動注冊表編輯器。
  2. 找到以下注冊表子項:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
  3. 確保啟用了以下注冊表項:
    名稱:CrashOnCtrlScroll
    數據類型:REG_DWORD
    :1
  4. 退出注冊表編輯器。

如何選擇內存轉儲文件選項

可以生成三種類型的內存轉儲文件。在手動觸發轉儲文件前,先選擇該文件。為此,請按照下列步驟操作:
  1. 右鍵單擊“我的電腦”,然后單擊“屬性”。
  2. 單擊“高級”選項卡,然后單擊“啟動和故障恢復”按鈕。
  3. 單擊“寫入調試信息”,然后單擊以選中“完全內存轉儲”、“核心內存轉儲”或“小內存轉儲”。
有關內存轉儲文件選項的更多信息,請單擊下面的文章編號,以查看 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 網站:
http://go.microsoft.com/?linkid=6294451 (http://go.microsoft.com/?linkid=6294451)
注意:如果發生其他問題或需要進行任何疑難解答,則您可能需要創建單獨的服務請求。對于此特定修補程序無法解決的其他支持問題和事項,將照常收取支持費用。要創建單獨的服務請求,請訪問下面的 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)

先決條件

要應用此修補程序,必須在計算機上安裝 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 不作任何暗示保證或其他形式的保證。