文章編號: 265879 - 上次校閱: 2007年10月23日 - 版次: 5.5

如何偵錯停止 0xC2"停止 0x000000C2 」 錯誤訊息

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
注意事項
這份文件適用於 Windows 2000。Windows 2000 支援的結束 2010 7 月 13,Windows 2000 End-of-Support Solution Center (http://support.microsoft.com/?scid=http%3a%2f%2fsupport.microsoft.com%2fwin2000) 是規劃您的遷移策略,從 Windows 2000 的起點。如需詳細資訊請參閱 Microsoft Support Lifecycle Policy (http://support.microsoft.com/lifecycle/) ]。
全部展開 | 全部摺疊

結論

本文將告訴您,如何偵錯停止 C2 錯誤訊息。

其他相關資訊

Windows 2000 包含增強集區配置處理程序的許多內建功能。停駐點的新代碼數已新增該找到無法正常運作的驅動程式的說明。因為的這些額外的功能您可以依簡單偵錯尋找驅動程式的功能有問題的根本原因。

下列程序描述如何偵錯 OxC2 停止。

第一個,檢查停止說明文件。例如:
BAD_POOL_CALLER                              (0xC2)

The current thread is making a bad pool request.  Typically this is at a bad IRQL level or double freeing the same allocation, etc.

1 - type of pool violation the caller is guilty of.
6 - the pool address being freed is already free.
7 - the pool address being freed is already free.
8 - parameter 2 is the IRQL allocating at, parameter 3 is the pool type
9 - parameter 2 is the IRQL freeing at, parameter 3 is the pool type

Parameter 1 = 0x1, 0x2, or 0x4 :  Pool header has been corrupted
   Parameter 2 = Pointer to pool header
   Parameter 3 = First part of pool header contents
   Parameter 4 = 0

Parameter 1 = 0x6 :    Attempt to free pool which was already freed
   Parameter 2 = Reserved (__LINE__)
   Parameter 3 = Pointer to pool header
   Parameter 4 = Pool header contents

Parameter 1 = 0x7 :    Attempt to free pool which was already freed
   Parameter 2 = Reserved (__LINE__)
   Parameter 3 = Pointer to pool header
   Parameter 4 = 0

Parameter 1 = 0x8 :    Attempt to allocate pool at invalid IRQL
   Parameter 2 = Current IRQL
   Parameter 3 = Pool type
   Parameter 4 = Size of allocation

Parameter 1 = 0x9 :    Attempt to free pool at invalid IRQL
   Parameter 2 = Current IRQL
   Parameter 3 = Pool type
   Parameter 4 = Address of pool

Parameter 1 = 0x40 :    Attempt to free usermode address to kernel pool
   Parameter 2 = Starting address
   Parameter 3 = Start of system address space
   Parameter 4 = 0

Parameter 1 = 0x41 :    Attempt to free a non-allocated nonpaged pool 
address
   Parameter 2 = Starting address
   Parameter 3 = physical page frame
   Parameter 4 = highest physical page frame

Parameter 1 = 0x50 :    Attempt to free a non-allocated paged pool address
   Parameter 2 = Starting address
   Parameter 3 = Start offset in pages from beginning of paged pool
   Parameter 4 = Size in bytes of paged pool

Parameter 1 = 0x99 :    Attempt to free pool with invalid address (or 
corruption in pool header)
   Parameter 2 = Address being freed
   Parameter 3 = 0
   Parameter 4 = 0

				
您收集 0xC2 停駐點的詳細資訊之後使用偵錯工具:
E:\bin>i386kd -z  K:\DOWNLOAD\memory.dmp
Loading Dump File [K:\DOWNLOAD\memory.dmp]
Full Kernel Dump File
...
0: kd> !reload                GOOD HOUSEKEEPING DONE HERE

0: kd> dd kibugcheckdata  l8    DUMPING THE ERROR

8047fba0  000000c2 00000007 00000b68 815bade0
8047fbb0  815bade8 e1007000 00000000 818988c0

0: kd> kv                     DUMPING STACK         

ChildEBP RetAddr  Args to Child
bdce0348 be11dc84 e1fff000 a08d0008 000007f8 banshee!vH3ImageTransferMm32
bdce037c be116f18 be85fd78 00000001 bdce03dc banshee!vMmXferNative
bdce03ac be113eec e1fff000 e25e2a38 bdce03dc banshee!vPutBits
bdce03e8 a008e47f e1ff86f8 e25e2a38 e1fef908 banshee!DrvCopyBits
bdce0430 a008e899 be113d40 bdce04d8 e1ff86f8 win32k!OffCopyBits
bdce04e4 a008e4d1 e1ff86f8 e25e2a38 00000000 win32k!SpBitBlt
停止說明文件指出該記憶體被釋放。這項資訊是由下面這一行來表示:
參數 1 = 0x7: 嘗試釋放已經被釋放的集區。
但是,堆疊顯示讓您必須繼續調查視訊卡是一個寫入的程序中。第一次,您必須決定這台電腦是否是一個多處理器。
0: kd> ~1                     SWITCH PROC

1: kd> kv                     DUMPING STACK  

ChildEBP RetAddr  Args to Child
bde81b7c 8046894d 815bade8 00000000 be03bb2b ntkrnlmp!ExFreePoolWithTag
bde81b88 be03bb2b 815bade8 be03ca94 815bade8 ntkrnlmp!ExFreePool
00000128 00000000 00000000 00000000 00000000 BADDRIVER
				
前面的文字表示該記憶體釋放透過驅動程式 drivername。這可能是可能的根本原因。

接下來,定義驅動程式:

1: kd> !drivers               
Loaded System Driver Summary

Base       Code Size       Data Size       Driver Name       Creation Time
80400000 139f40 (1255 kb) 4f3c0 (316 kb) ntoskrnl.exe  Tue Dec 07 14:05:26 1999
80062000   ffe0 (  63 kb)  3d60 ( 15 kb)      hal.dll  Tue Nov 02 20:14:22 1999
ed410000   1760 (   5 kb)  1000 (  4 kb)  BOOTVID.dll  Wed Nov 03 20:24:33 1999
ed49c000   1b00 (   6 kb)   680 (  1 kb) gameenum.sys  Sat Sep 25 14:35:57 1999
ed080000   a000 (  40 kb)  20c0 (  8 kb) VIDEOPRT.SYS  Sat Nov 06 16:55:20 1999
bfdcf000  1d480 ( 117 kb)  7520 ( 29 kb)   mga64m.sys  Mon Nov 29 20:47:46 1999
bfdbc000  11600 (  69 kb)  1600 (  5 kb) el90xnd5.sys  Fri Oct 29 17:54:34 1999
ed090000   3a60 (  14 kb)  5980 ( 22 kb)  banshee.sys  Fri Oct 29 19:00:56 1999
ed5df000    2e0 (   0 kb)   4a0 (  1 kb)  audstub.sys  Sat Sep 25 14:35:33 1999
ed370000   33e0 (  12 kb)   a40 (  2 kb)   raspti.sys  Fri Oct 08 16:45:10 1999
ed0c0000   c5e0 (  49 kb)  20e0 (  8 kb) parallel.sys  Fri Oct 22 18:00:54 1999
ed5e0000    580 (   1 kb)   540 (  1 kb)   swenum.sys  Sat Sep 25 14:36:31 1999
be552000  72a60 ( 458 kb) 13c40 ( 79 kb)   mga64d.dll  Tue Nov 30 04:33:19 1999
be113000  36f00 ( 219 kb)  7a20 ( 30 kb)  banshee.dll  Tue Nov 30 04:31:18 1999
be031000   FFFF (  FF kb)  FFFF (  F kb) BADDRIVER.sys Mon Feb 30 23:22:43 2000

TOTAL:   7f8dc0 (8163 kb) 172140 (1480 kb) (    0 kb     0 kb)
				
前面的文字表示驅動程式使用由協力廠商軟體套件。這個驅動程式很可能是錯誤的原因。若要進一步調查此問題,搜尋 「 Microsoft 知識庫 」,如需詳細資訊。而且,檢查檔案內容與 Windows 檔案總管] 或是使用十六進位編輯器上檔案本身。您也可以檢查供應商的網站的任何更新或已知的問題。

這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
關鍵字:?
kbmt kberrmsg kbhowto KB265879 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:265879? (http://support.microsoft.com/kb/265879/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。