현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

"Stop 0xC2" 또는 "Stop 0x000000C2" 오류 메시지를 디버깅하는 방법

이 문서의 Microsoft Windows XP 버전에 대한 내용은 314492를 참조하십시오.
요약
이 문서에서는 Stop C2 오류 메시지를 디버깅하는 방법을 설명합니다.
추가 정보
Windows 2000에는 풀 할당 프로세스를 향상시키는 여러 가지 기본 제공 기능이 있습니다. 제대로 작동하지 않는 드라이버를 찾는 데 도움이 되도록 새로운 Stop 코드도 많이 추가되었습니다. 이러한 기능이 추가되었기 때문에 간단한 디버깅 작업을 통해 드라이버 오작동의 근본 원인을 찾을 수 있습니다.

다음 절차는 OxC2 Stop 오류를 디버깅하는 방법을 설명합니다.

먼저 Stop 문서를 확인합니다. 예는 다음과 같습니다.
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 type9 - parameter 2 is the IRQL freeing at, parameter 3 is the pool typeParameter 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 = 0Parameter 1 = 0x6 :    Attempt to free pool which was already freed   Parameter 2 = Reserved (__LINE__)   Parameter 3 = Pointer to pool header   Parameter 4 = Pool header contentsParameter 1 = 0x7 :    Attempt to free pool which was already freed   Parameter 2 = Reserved (__LINE__)   Parameter 3 = Pointer to pool header   Parameter 4 = 0Parameter 1 = 0x8 :    Attempt to allocate pool at invalid IRQL   Parameter 2 = Current IRQL   Parameter 3 = Pool type   Parameter 4 = Size of allocationParameter 1 = 0x9 :    Attempt to free pool at invalid IRQL   Parameter 2 = Current IRQL   Parameter 3 = Pool type   Parameter 4 = Address of poolParameter 1 = 0x40 :    Attempt to free usermode address to kernel pool   Parameter 2 = Starting address   Parameter 3 = Start of system address space   Parameter 4 = 0Parameter 1 = 0x41 :    Attempt to free a non-allocated nonpaged pooladdress   Parameter 2 = Starting address   Parameter 3 = physical page frame   Parameter 4 = highest physical page frameParameter 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 poolParameter 1 = 0x99 :    Attempt to free pool with invalid address (orcorruption in pool header)   Parameter 2 = Address being freed   Parameter 3 = 0   Parameter 4 = 0				
0xC2 Stop 오류에 대한 세부 정보를 수집한 후에 디버거를 사용합니다.
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 HERE0: kd> dd kibugcheckdata  l8    DUMPING THE ERROR8047fba0  000000c2 00000007 00000b68 815bade0 8047fbb0  815bade8 e1007000 00000000 818988c00: 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
Stop 문서는 메모리가 해제되고 있음을 표시합니다. 이 정보는 다음 줄에 나타납니다.
Parameter 1 = 0x7: Attempt to free pool which was already freed.
그러나 스택에서는 비디오 카드가 쓰고 있음을 보여 주므로 조사를 계속해야 합니다. 먼저, 이 컴퓨터가 다중 프로세서 컴퓨터인지 확인해야 합니다.
0: kd> ~1                     SWITCH PROC1: kd> kv                     DUMPING STACKChildEBP RetAddr  Args to Childbde81b7c 8046894d 815bade8 00000000 be03bb2b ntkrnlmp!ExFreePoolWithTagbde81b88 be03bb2b 815bade8 be03ca94 815bade8 ntkrnlmp!ExFreePool00000128 00000000 00000000 00000000 00000000 BADDRIVER				
앞의 텍스트는 메모리가 drivername 드라이버를 통해 해제되는 것을 나타냅니다. 이것이 오류의 근본 원인일 수 있습니다.

다음에 드라이버를 정의합니다.
1: kd> !driversLoaded System Driver SummaryBase       Code Size       Data Size       Driver Name       Creation Time80400000 139f40 (1255 kb) 4f3c0 (316 kb) ntoskrnl.exe  Tue Dec 07 14:05:26 199980062000   ffe0 (  63 kb)  3d60 ( 15 kb)      hal.dll  Tue Nov 02 20:14:22 1999ed410000   1760 (   5 kb)  1000 (  4 kb)  BOOTVID.dll  Wed Nov 03 20:24:33 1999ed49c000   1b00 (   6 kb)   680 (  1 kb) gameenum.sys  Sat Sep 25 14:35:57 1999ed080000   a000 (  40 kb)  20c0 (  8 kb) VIDEOPRT.SYS  Sat Nov 06 16:55:20 1999bfdcf000  1d480 ( 117 kb)  7520 ( 29 kb)   mga64m.sys  Mon Nov 29 20:47:46 1999bfdbc000  11600 (  69 kb)  1600 (  5 kb) el90xnd5.sys  Fri Oct 29 17:54:34 1999ed090000   3a60 (  14 kb)  5980 ( 22 kb)  banshee.sys  Fri Oct 29 19:00:56 1999ed5df000    2e0 (   0 kb)   4a0 (  1 kb)  audstub.sys  Sat Sep 25 14:35:33 1999ed370000   33e0 (  12 kb)   a40 (  2 kb)   raspti.sys  Fri Oct 08 16:45:10 1999ed0c0000   c5e0 (  49 kb)  20e0 (  8 kb) parallel.sys  Fri Oct 22 18:00:54 1999ed5e0000    580 (   1 kb)   540 (  1 kb)   swenum.sys  Sat Sep 25 14:36:31 1999be552000  72a60 ( 458 kb) 13c40 ( 79 kb)   mga64d.dll  Tue Nov 30 04:33:19 1999be113000  36f00 ( 219 kb)  7a20 ( 30 kb)  banshee.dll  Tue Nov 30 04:31:18 1999be031000   FFFF (  FF kb)  FFFF (  F kb) BADDRIVER.sys Mon Feb 30 23:22:43 2000TOTAL:   7f8dc0 (8163 kb) 172140 (1480 kb) (    0 kb     0 kb)				
앞의 텍스트는 타사 소프트웨어 패키지에서 드라이버를 사용하는 것을 나타냅니다. 이 드라이버가 오류의 원인일 가능성이 가장 높습니다. 이 문제를 계속 조사하려면 Microsoft 기술 자료를 검색하여 자세한 내용을 찾으십시오. 또한 Windows 탐색기 또는 파일 자체의 16진수 편집기를 사용하여 파일 속성을 확인하십시오. 업데이트나 알려진 문제가 있는지 공급업체의 웹 사이트를 확인할 수도 있습니다.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.
blue screen AV special pool
속성

문서 ID: 265879 - 마지막 검토: 05/14/2011 23:29:00 - 수정: 6.0

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • kberrmsg kbhowto KB265879
피드백