Haber - Unexpected_Kernel_Mode_Trap Hatası Nasıl Çözülür? | GsmGezgini
Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Haber Unexpected_Kernel_Mode_Trap Hatası Nasıl Çözülür?

  Murat Teknik

TeknoCan

TeknoCan Bilişim
Emekli
Katılım
20 Eki 2015
Mesajlar
2,050
Tepkime puanı
306
Puanları
83
Konum
bursa
Konu Sahibi


“UNEXPECTED_KERNEL_MODE_TRAP” mavi ekran hatasının neden olduğuna ve bu hatayı nasıl çözebileceğimize bakıyoruz.

Mavi ekran hatalarını analiz etmenin zahmetli olabileceği aşikar. Eğer siz de UNEXPECTED_KERNEL_MODE_TRAP hata kodu ile karşılaştıysanız, gelin birlikte analiz edelim.​


İhtiyacımız olan yazılımlar

Öncelikle, mavi ekran hatalarını daha rahat analiz edebilmemiz için küçük bir yazılım olan BlueScreenView yazılımını bilgisayarımıza kurmalıyız. Bilgisayarınız 64 bit ise , 32 bit ise de BlueScreenView’ı indirebilirsiniz.
Minidump-Analizi-640x347.jpg


WinDbg programının arayüzü.
İsterseniz, güncellenen programını kullanarak daha detaylı bilgiler edinebilir ve daha iyi analizler yapabilirsiniz. WinDbg programı ile analiz yapmak istiyorsanız referans alabilirsiniz.
Eğer hazırsanız, başlayalım!​


“UNEXPECTED_KERNEL_MODE_TRAP” hatası nedir?

Bu hatanın karşınıza çıkma sebebi, x86 işlemcilerde olan istisna yakalama mekanizmasıdır. x86 işlemcilerde 3 türlü istisna vardır:​
  • Fault: Bu istisnalar düzeltilebilen türde istisnalardır ve program (veya işletim sistemi) hiçbir şey olmamışçasına devam edebilir.​
  • Abort: Nadiren karşılaştığımız kurtarılamayan istisna çeşididir.​
  • Trap: Bu tür istisnalar olur olmaz hemen rapor edilir. İşletim sisteminin bu istisnalar için bir tablosu bulunmaktadır.​
UNEXPECTED_KERNEL_MODE_TRAP hatası, bahsettiğimiz “trap” türünde istisnaların yakalanamaması halinde oluşan bir hatadır. Windows’un NT çekirdeğinin çalışmayı kesip mavi ekran verme sebebi ise, bu hataların NT çekirdeği tarafından yakalanma yetkisinin olmayışı veya işlemcinin “double fault“, yani “hatanın hatası” durumuna düşmesidir. “Double fault” türü istisnalar, “abort” kategorisi altında değerlendirilmektedir, yani kurtarılamazdır.
Örneğin bir sayının sıfır ile bölünmesi durumu Windows NT çekirdeği tarafından yakalanmaya çalışırken, bu durumun bir tane daha istisna tetiklemesi bir “double fault” unsurdur, bu da Windows NT çekirdeğini durdurup UNEXPECTED_KERNEL_TRAP_MODE hata kodlu mavi ekran hatasına sebep olmaktadır.​


BlueScreenView ile hata analizi

BlueScreenView’ı açtığınız zaman eğer sisteminizde çekirdek hata dökümleri olan minidump’lar mevcut ise bunlar doğrudan karşınıza çıkacaktır.
UNEXPECTED_KERNEL_MODE_TRAP mavi ekran hata kodu ve çözüm önerileri


BlueScreenView’ın arayüzü, ve işaretli bölümde bizim bu yazıda ilgilenmiş olduğumuz hata durmakta.
İşaretlediğimiz döküm dosyasına sağ tıkladığımız zaman, açılan menüden “Properties” (Özellikler) diyelim.
UNEXPECTED_KERNEL_MODE_TRAP mavi ekran hata kodu ve çözüm önerileri


Sağ tık menüsü. Alttan ikinci seçenek olan “Properties” (Özellikler) seçeneğine tıklayalım.
Karşımıza şöyle bir pencere gelecektir:
UNEXPECTED_KERNEL_MODE_TRAP mavi ekran hata kodu ve çözüm önerileri


“BlueScreenView” programının “Özellikler” penceresi.
Görmüş olduğunuz üzere BlueScreenView, minidump dosyamızdaki bilgileri derleyerek bizlere sundu. Burada hangi sürücünün mavi ekrana sebep olduğu gibi bilgileri görebilmekteyiz. Biz bu mavi ekranı “NotMyFault” isimli geliştirici aracı ile oluşturduğumuzdan dolayı, “myfault.sys” isimli sürücüden kaynaklandığı yazıyor.​


Özellikler penceresindeki bilgiler ne işimize yarayacak?

Microsoft’un geliştiriciler ve mavi ekran analiz etmek isteyen kişiler için sunmuş olduğu bir tablo bulunuyor. Örneğin UNEXPECTED_KERNEL_TRAP_MODE hatası için bizlerden minidump’ın birinci parametresine bakmamız istenmiş ve şöyle bir tablo sunulmuş:​
Parametre 1
Hata sebebi olan istisna kodu
Açıklama
0x00000000​
Sıfır ile bölüm hatası​
x86 işlemcilerde bölme işleminin yapıldığı “DIV” isimli Assembly komutunun bir parametresi sıfır olunca alınan hata. Genelde yazılım hatalarından dolayı olmakla beraber, bellek hataları gibi donanım hatalarından dolayı da olur.​
0x00000004​
Overflow​
İşlemcinin “overflow” (taşma) bayrağı aktifken “INTO” (“interrupt on overflow” – taşma esnasında kesinti) komutu çalışırsa, işlemci bu istisnayı oluşturacaktır.​
0x00000005​
Bounds Check Fault​
Bir değişken dizisinin (array) büyüklüğü, aranan endeksten küçükse bu hata oluşur. Örneğin 10 elemanlı dizide 64. elemanı arayınca oluşabilecek bir istisnadır.​
0x00000006​
Invalid Opcode​
İşlemcide tanımlı olmayan bir komut çalıştırılmaya çalışılmış. Genelde bellek arızası bu soruna sebep olabilir.​
0x00000008​
Double Fault​
Yazının başında da bahsettiğimiz gibi, bir istisna yakalanmaya çalışılırken oluşan istisna durumudur. Bir nevi “hatanın hatası“. Genelde “stack overflow” (yığın bellek taşması) hatalarından dolayı olmaktadır.​
Ekstra olarak çok nadir durumlarda birinci parametre, bu değerleri de alabilir:​
Parametre 1
Açıklama
0x00000001​
Sistem hata ayıklama çağrısı.​
0x00000003​
Hata ayıklayıcı durma noktası (breakpoint). Hata ayıklayıcı kullanıyorsanız, çoğu hata ayıklayıcı program bu istisnayı yakalayabildiği için bu durumun olma olasılığı çok düşüktür.​
0x00000007​
FPU (ondalık işlem birimi) komutu çalıştırılmasına rağmen FPU’ya ulaşılamıyor. Eğer 90’lardan kalma bir bilgisayara sahip değilseniz bu sebepten dolayı mavi ekranın olma ihtimali çok çok düşüktür, çünkü artık FPU’lar işlemcilere entegre gelmekte.​
0x0000000A​
İşletim sistemlerinde çalışmakta olan bir uygulamanın bilgilerini tutan veri yapısı Task State Segment (TSS) bozukluğu.​
0x0000000B​
Bir uygulama var olmayan bellek bölümüne erişmeye çalışınca bu değer verilir. İşletim sistemlerinin bellek yönetim mekanizmaları hakkında daha fazla bilgi için okuyabilirsiniz.​
0x0000000C​
Belleğin stack limitinin dışında bir yere erişilmeye çalışıldığında ve Windows NT çekirdeği buna izin vermeyince parametreye bu değer atanıyor. Eğer sizin yaptığınız uygulama veya sürücüden dolayı bu mavi ekranı alıyorsanız, stack yerine heap belleği kullanabilirsiniz.​
0x0000000D​
Genel koruma hatası. Segmentasyon hatası, işlemcinin çekirdek modunda olmamasına rağmen (ring 0) çekirdek modu komutlarının işlenmesi belli başlı sebepleridir.​
Fakat bu nadir durumlardan korkmamıza gerek yok, çünkü bu listedeki çoğu durum Windows NT çekirdeğinin istisna yakalama mekanizmaları tarafından işlenip hata mesajı olarak kullanıcıya sunuluyor.
Eğer minidump’ınızdaki parametre bu tablodaki herhangi bir parametre ile uyuşmuyor ise, veya Intel’in x86 mimarisi için yayınlamış olduğu minidump’ınızdaki parametrenin ne anlama geldiğini bulabilirsiniz.​


UNEXPECTED_KERNEL_MODE_TRAP hatasının asıl sebebi

Genellikle bu hataya sebebiyet veren şey, arızalı veya uyumsuz bir donanımdır. Özellikle bellek uyumsuzlukları bu hataya sebebiyet verir.
Ayrıca çekirdek seviyesinde yığın bellek taşması (stack overflow) olduğu zaman da bu hata karşınıza çıkar. Yukarıdaki resimlerin ait olduğu sanal makinemiz işte bu hata ile bir mavi ekran vermiş.​


Donanımsal Çözüm önerileri

Eğer bilgisayarınıza son zamanlarda bir donanım eklediyseniz, bu donanımı sökün ve hata durumunu gözlemleyin. Eğer sistem stabil ise, donanımınızı değiştirebilirsiniz. Varsa, sistem üreticisinin üretmiş olduğu teşhis yazılımını kullanın.
Bu hatanın diğer bir sebebi ise bellek olabilir.
Sisteme bağlı depolama aygıtlarının Windows sürümünüz ile uyumlu olduğundan emin olun ve her zaman kullanın.
Ayrıca anakartınızdaki bozuk bir bileşen bu hatayı tetikliyor olabilir. Eğer güç kaynağınızda sorun var ise, bu da soruna sebebiyet verebilir.
Sisteminizde overclock varsa, sorunun kaynağı olabilir. Eğer mevcut ise, BIOS’un “memory caching” yapmasını önleyin.​


Yazılımsal Çözüm Önerileri

eventvwr-2-640x379.jpg


“Olay Görüntüleyicisi” programının arayüzü. Size Windows NT’de olanı biteni söyler.
Olay Görüntüleyicisi’nden neden bu sorunu yaşadığınız hakkında daha iyi bir açıklama duyabilirsiniz.
Bilgisayarınıza bağlı olan aygıtların güncellemeleri varsa güncelleyin. Hatalı bir firmware, bu hatanın aktörü olabilir.
Eğer Windows sürümünü güncelleme yolu ile yükselttiyseniz, yazılımsal bir uyumsuzluk durumu olması muhtemel. Eski Windows sürümünüzde çalışan sürücü, antivirüs veya uygulamalar yeni sürümde çalışmayabilir veya düzgün çalışmayabilir. Bu sebepten ötürü sizlere yapmanızı tavsiye ederiz.​


Özet

Mavi ekran hatalarının genel sebepleri bir uygulamadan ziyade Windows NT çekirdeği ile birlikte çalışan donanım sürücüleri veya donanımlardır. Ayrıca minidump dosyaları bizlere sorunun nerde olduğunu tam anlamı ile belirtmektedir. Eğer bir mavi ekran hatası aldıysanız Technopat Sosyal’de özel olarak açtığımız konu açabilir, bu yazı hakkında soru ve eklemeleriniz için aşağıdaki “Yorumlar” kısmını kullanabilirsiniz.​
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap
Lütfen dikkat !!!

"sssdsdsf" Tarzı cevap ve yorumlar yazılması yasaktır!

( Flood ) ard arda cevap ve yorumlar yazılması yasaktır!

Bu tip yorum ve cevap yazanlar uyarılmaksınız Süresiz uzaklaştırılacaktır!

Tema düzenleyici

Tema özelletirmeleri

Grafik arka planlar

Granit arka planlar