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 不作任何暗示保證或其他形式的保證。
|