Makale numarası: 265879 - Son Gözden Geçirme: 02 Kasım 2006 Perşembe - Gözden geçirme: 5.3

"Dur 0xC2" veya "Dur 0x000000C2" Hata İletilerinde Nasıl Hata Ayıklanır

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Bu makalenin Microsoft Windows XP sürümü için bkz: 314492  (http://support.microsoft.com/kb/314492/TR/ ) .
Hepsini aç | Hepsini kapa

™zet

Bu makalede, Dur C2 hata iletilerinde nasıl hata ayıklanacağı açıklanır.

Daha fazla bilgi

Windows 2000, havuz ayırma işlemini geliştiren birçok özellik içerir. Düzgün çalışmayan işlevleri bulmanıza yardımcı olan birkaç yeni dur kodu eklendi. Bu ek özellikler nedeniyle, sürücünün işlevini yerine getirememesinin kök nedenini hata ayıklama yoluyla bulabilirsiniz.

Aşağıdaki yordamlar, bir OxC2 dur hatasında nasıl hata ayıklanacağını açıklar.

İlk olarak, dur iletisinin belgelerini denetleyin. Örneğin:
BAD_POOL_CALLER                              (0xC2)

Geçerli iş parçacığı yanlış bir havuz isteğinde bulunmaktadır.  Bu durum genellikle bozuk bir IRQL düzeyi veya aynı ayırma işleminin iki kez serbest bırakılması gibi bir nedenden kaynaklanır.

1 - çağrıyı yapanın neden olduğu havuz ihlalinin türü.
6 - serbest bırakılması istenen havuz adresi zaten bırakılmıştır.
7 - serbest bırakılması istenen havuz adresi zaten bırakılmıştır.
8 - parametre 2, IRQL ayırmayı ve parametre 3 de havuz türünü gösterir
9 - parametre 2, IRQL bırakmayı ve parametre 3 de havuz türünü gösterir

Parametre 1 = 0x1, 0x2 veya 0x4 :  Havuz üstbilgisi bozulmuş
   Parametre 2 = Havuz üstbilgisine işaretçi
   Parametre 3 = Havuz üstbilgisi içeriğinin ilk parçası
   Parametre 4 = 0

Parametre 1 = 0x6 :    Zaten bırakılmış bir havuzu bırakma girişimi
   Parametre 2 = Ayrılmış (__SATIR__)
   Parametre 3 = Havuz üstbilgisine işaretçi
   Parametre 4 = Havuz üstbilgisi içeriği

Parametre 1 = 0x7 :    Zaten bırakılmış bir havuzu bırakma girişimi
   Parametre 2 = Ayrılmış (__SATIR__)
   Parametre 3 = Havuz üstbilgisine işaretçi
   Parametre 4 = 0

Parametre 1 = 0x8 :    Havuzu geçersiz IRQL konumunda ayırma girişimi
   Parametre 2 = Geçerli IRQL
   Parametre 3 = Havuz türü
   Parametre 4 = Ayırma boyutu

Parametre 1 = 0x9 :    Havuzu geçersiz IRQL konumunda bırakma girişimi
   Parametre 2 = Geçerli IRQL
   Parametre 3 = Havuz türü
   Parametre 4 = Havuz adresi

Parametre 1 = 0x40 :    Kullanıcı modu adresini çekirdek havuzuna bırakma girişimi
   Parametre 2 = Başlangıç adresi
   Parametre 3 = Sistem adres alanının başlangıcı
   Parametre 4 = 0

Parametre 1 = 0x41 :    Ayrılmamış bir diske alınmayan havuz adresini bırakma girişimi

   Parametre 2 = Başlangıç adresi
   Parametre 3 = fiziksel sayfa çerçevesi
   Parametre 4 = en yüksek fiziksel sayfa çerçevesi

Parametre 1 = 0x50 :    Ayrılmamış bir disk belleği havuzu adresini bırakma girişimi
   Parametre 2 = Başlangıç adresi
   Parametre 3 = Kaydırmayı disk belleği havuzunun başlangıcındaki sayfalardan başlat
   Parametre 4 = Disk belleği havuzunun bayt olarak boyutu

Parametre 1 = 0x99 :    Yanlış adresli bir havuzu bırakma girişimi (veya 
havuz üstbilgisinde bozulma)
   Parametre 2 = Bırakılan adres
   Parametre 3 = 0
   Parametre 4 = 0

				
0xC2 dur hatasıyla ilgili ayrıntılı bilgileri topladıktan sonra, hata ayıklayıcıyı kullanın:
E:\bin>i386kd -z  K:\DOWNLOAD\memory.dmp Döküm Dosyası Yükleniyor [K:\DOWNLOAD\memory.dmp] Tam Çekirdek Döküm Dosyası ... 0: kd> !reload                TEMİZLİK BU AŞAMADA YAPILIYOR

0: kd> dd kibugcheckdata  l8    HATANIN DÖKÜMÜ ALINIYOR

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

0: kd> kv                     YIĞIN DÖKÜMÜ ALINIYOR

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
Dur hatasının belgeleri, belleğin bırakıldığını gösteriyor. Bu bilgi aşağıdaki satırda belirtilir:
Parametre 1 = 0x7: Zaten bırakılmış bir havuzu bırakma girişimi.
Ancak yığın, ekran kartının yazma işlemine devam ettiğini gösterdiği için araştırmaya devam etmelisiniz. İlk olarak, bu bilgisayarda birden çok işlemci bulunup bulunmadığını belirlemelisiniz.
0: kd> ~1                     YORDAM DEĞİŞTİR

1: kd> kv                     YIĞIN DÖKÜMÜ ALINIYOR

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
				
Yukarıdaki metin, belleğin sürücüadı sürücüsü aracılığıyla bırakıldığını gösterir. Sorunun kök nedeni bu olabilir.

Daha sonra, sürücüyü tanımlayın:

1: kd> !drivers               
Yüklü Sistem Sürücüsü Özeti

Taban    Kod Boyutu       Veri Boyutu    Sürücü Adı    Oluşturma Tarihi
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)
				
Yukarıdaki metin, sürücünün bir üçüncü taraf yazılım paketi tarafından kullanıldığını gösterir. Büyük olasılıkla sorunun kaynağı bu sürücüdür. Sorunu daha fazla araştırmak üzere, daha fazla bilgi için Microsoft Bilgi Bankası'na bakın. Ayrıca, Windows Gezgini'ni veya dosyanın kendisinde bir Onaltılı düzenleyicisi kullanarak dosya özelliklerini denetleyin. Satıcının Web sitesinden güncelleştirmeleri veya bilinen sorunları da araştırabilirsiniz.

Bu makaledeki bilginin uygulandigi durum:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
Anahtar Kelimeler: 
kberrmsg kbhowto KB265879