Açıktan daha küçük pompa. Mavi ekran göründüğünde (BSOD) sorunun ne olduğu veya bir döküm dosyasının nasıl açılacağı nasıl anlaşılır?

  • 15.02.2019

En yaygın başarısızlıklardan biri windows çalışması - kullanıcının "" olarak gördüğü sistem istisnaları mavi ekran ölüm "(BSOD). Kural olarak, bu ölümcül hata, sürücülerin, donanımın (daha çok işletim sistemini yüklerken) veya virüslerin ve antivirüslerin eylemi nedeniyle oluşur.

Mavi ölüm ekranı, istisnaya neden olan nedenler (0x0000007b şeklinde bir DURDURMA hata kodu biçiminde), bir istisnanın oluştuğu erişilirken bellekteki adresler ve diğer yararlı bilgiler hakkında bilgi içerir. Bu bilgiye DURDURMA hatası denir. değişken parametreler bunlar sadece hafıza adresleridir. Bazen istisnaya neden olan dosyanın adını da içerir.

Tüm bu bilgiler ekranda kısa bir süre (100 saniyeye kadar) görüntülenir ve ardından bilgisayar yeniden başlatılır. Bu değil uzun zaman kural olarak, bir bellek dökümü oluşturulur ve bir dosyaya yazılır. Önemli olanlardan biri profesyonel yollar çökme teşhisi - bu makalede ayrıntılı olarak tartışılacak olan bellek dökümü analizi.

Çöplük nedir

  • dump (İngilizce) - çöp yığını; çöplük; delik; gecekondu.
  • dökümü (bellek dökümü) - 1) döküm, çıktı içeriği rasgele erişim belleği yazdırmak veya ekrana getirmek için; 2) RAM'in "anlık görüntüsü"; damping sonucunda elde edilen veriler; 3) acil durum kaldırma, kapatma, sıfırlama.
  • damping - damping, damping.

Bir bellek dökümünü kaydetme ayarları şurada saklanır: sistem kaydı Pencereler.

Sistem Kayıt Defterindeki bellek dökümü hakkında bilgiler:

Bölümde Windows Kayıt Defteri kilitlenme dökümü aşağıdaki parametrelerle tanımlanır:

- 0 × 1 değerine sahip REG_DWORD parametresi AutoReboot (Sistem Özellikleri iletişim kutusunun Load and Restore yardımcı penceresinin otomatik olarak yeniden başlatılmasını gerçekleştir seçeneği);

- Bellek dökümü oluşturulmazsa, 0x0 değeriyle REG_DWORD parametresi CrashDumpEnabled; 0 × 1 - Tam bellek dökümü; 0 × 2 - Çekirdek bellek dökümü; 0 × 3 - Küçük bellek dökümü (64KB);

-% SystemRoot% \\ MEMORY.DMP varsayılan değerine sahip REG_EXPAND_SZ parametresi DumpFile (döküm dosyası saklama konumu);

- REG_DWORD parametresi LogEvent varsayılan değeri 0 × 1 (seçenek Olayı yaz sistem günlüğü Pencereleri İndirin ve Geri Yükleyin);

-% SystemRoot% \\ Minidump varsayılan değerine sahip REG_EXPAND_SZ MinidumpDir parametresi (Başlangıç \u200b\u200bve Kurtarma penceresindeki küçük döküm klasörü seçeneği);

- REG_DWORD-parametresinin üzerine yazma varsayılan değeri 0 × 1 (seçenek Üzerine Yaz mevcut dosya Windows Başlangıç \u200b\u200bve Kurtarma dökümü);

- Varsayılan değeri 0 × 1 olan REG_DWORD SendAlert parametresi (Başlangıç \u200b\u200bve Geri Yükleme penceresinde Yönetim Uyarısı Gönder seçeneği).

Sistem bir kilitlenme dökümü dosyasını nasıl oluşturur?

Önyükleme sırasında, işletim sistemi kayıt defteri anahtarındaki kilitlenme dökümü ayarlarını kontrol eder. En az bir parametre belirtilirse, sistem önyükleme birimindeki disk belleği dosyası tarafından kullanılan disk bloklarının bir haritasını oluşturur ve bunu bellekte depolar. Sistem ayrıca hangi sürücünün disk aygıtı önyükleme hacmini yönetir, hesaplar sağlama toplamları bir bellek içi sürücü görüntüsü için ve sürücünün G / Ç işlemlerini gerçekleştirmesi için int olması gereken veri yapıları için.

Bir çökmeden sonra, sistem çekirdeği sayfa dosyası haritasının bütünlüğünü kontrol eder, disk sürücüsü ve disk sürücüsü kontrol yapıları. Bu yapıların bütünlüğü ihlal edilmemişse, sistem çekirdeği çağırır. özel fonksiyonlar bir sistem arızasından sonra bir bellek görüntüsünü kaydetmek için tasarlanmış disk sürücüsü G / Ç. Bu G / Ç işlevleri bağımsızdır ve sistem çekirdeği hizmetlerine dayanmaz çünkü çökme dökümü programları, bir çökme sırasında sistem çekirdeğinin hangi bölümlerinin veya aygıt sürücülerinin bozulduğu konusunda herhangi bir varsayımda bulunamaz. Çekirdek, verileri bellekten disk belleği dosyası sektör haritasına yazar (dosya sistemi sürücülerini kullanmak zorunda kalmadan).

Çekirdek ilk olarak döküm sürecine dahil olan her bir bileşenin durumunu kontrol eder. Bu, disk sektörlerine doğrudan yazılırken sayfa dosyasının dışında kalan verilere zarar vermemek için yapılır. Sayfa dosyasının boyutu 1 MB olmalıdır daha fazla boyut fiziksel hafızaçünkü bilgi döküme yazıldığında, çökme dökümünün imzasını ve birkaç önemli sistem çekirdeği değişkeninin değerlerini içeren bir başlık oluşturulur. Başlık 1MB'den küçüktür, ancak işletim sistemi disk belleği dosyası boyutunu en az 1MB artırabilir (veya azaltabilir).

Sistemi yeniden başlattıktan sonra, Oturum Yöneticisi (Windows NT Oturum Yöneticisi; sürücü konumu \\ WINDOWS \\ system32 \\ smss.exe'dir), her dosyayı oluşturmak için kendi NtCreatePagingFile işlevini kullanarak sistem sayfası dosyalarını başlatır. NtCreatePagingFile, başlatılan disk belleği dosyasının var olup olmadığını ve öyleyse, bir döküm başlığına sahip olup olmadığını belirler. Bir başlık varsa, NtCreatePagingFile, Oturum Yöneticisine gönderir özel kod... Ardından Oturum Yöneticisi, bir çökme dökümü olduğu bildirilen Winlogon işlemini (Windows NT oturum açma programı; sürücü adresi \\ WINDOWS \\ system32 \\ winlogon.exe) başlatır. Winlogon, SaveDump programını çalıştırır. windows belleği NT; disk adresi - \\ WINDOWS \\ system32 \\ registeredump.exe), döküm başlığını analiz eden ve belirleyen daha fazla eylemler Acil bir durumda.

Üstbilgi bir döküm olduğunu gösteriyorsa, SaveDump, sayfa dosyasındaki verileri, Kayıt Defteri anahtarındaki REG_EXPAND_SZ parametresi DumpFile ile adlandırılan bir kilitlenme dökümü dosyasına kopyalar. SaveDump döküm dosyasının üzerine yazarken, işletim sistemi kilitlenme dökümünü içeren sayfa dosyasının bölümünü kullanmaz. Şu anda hacim sanal belleksistem ve uygulamalar için kullanılabilir durum, dökümün boyutuna göre küçülür (ve ekranda yetersiz sanal bellek olduğunu belirten mesajlar görünebilir). SaveDump daha sonra bellek yöneticisine dökümün tamamlandığını bildirir ve genel kullanım için dökümü içeren sayfa dosyasının bölümünü serbest bırakır.

Döküm dosyasını kaydettikten sonra, SaveDump kilitlenme dökümünü Sistem olay günlüğüne kaydeder, örneğin: "Bilgisayar, daha sonra yeniden başlatıldı. kritik hata: 0x100000d1 (0xc84d90a6, 0 × 00000010, 0 × 00000000, 0xc84d90a6). Bellek kopyası kaydedildi: C: \\ WINDOWS \\ Minidump \\ Mini060309-01.dmp ".

Yönetim Uyarısı Gönder seçeneği etkinleştirilirse, SaveDump yöneticiye bir uyarı gönderir.

Dökme çeşitleri

  • Tam bellek dökümü tüm içeriği yazar sistem belleği önemli bir hata oluştuğunda. Bu seçenek için, önyükleme biriminde tüm fiziksel RAM artı 1MB boyutuna eşit bir disk belleği dosyasına sahip olmanız gerekir. Varsayılan olarak, tam bir bellek dökümü% SystemRoot% \\ Memory.dmp dosyasına yazılır. Ne zaman ... Olsa yeni hata ve yeni bir tam bellek dökümü dosyası (veya çekirdek bellek dökümü) oluşturma önceki dosya değiştirilir (üzerine yazılır). Tam Bellek Dökümü seçeneği, 32 bit işletim sistemine ve 2 veya daha fazla gigabayt RAM'e sahip bilgisayarlarda kullanılamaz.

Yeni bir hata oluştuğunda ve yeni bir tam bellek dökümü dosyası oluşturulduğunda, önceki dosyanın üzerine yazılır.

  • Çekirdek bellek dökümüyalnızca çekirdek belleğini yazar, bu da sistem aniden durduğunda günlüğe veri yazmayı hızlandırır. Bu durumda, bilgisayardaki fiziksel bellek miktarına bağlı olarak, disk belleği dosyası 50 ila 800 MB veya önyükleme birimindeki fiziksel belleğin üçte birini gerektirir. Varsayılan olarak, bir çekirdek bellek dökümü% SystemRoot% \\ Memory.dmp dosyasına yazılır.

Bu döküm, ayrılmamış belleği veya kullanıcı modu programları için ayrılmış belleği içermez. Yalnızca çekirdeğe ve donanıma bağlı katmana (HAL) ayrılan belleği Windows 2000 ve üzeri sürümlerde içerir sonraki sürümler sistemler ve çekirdek modu sürücüleri ve diğer çekirdek modu programları için ayrılmış bellek. Çoğu durumda, bu çöplük en çok tercih edilen seçenek... Tam bellek dökümüne kıyasla çok daha az yer kaplarken, yalnızca büyük olasılıkla hatayla ilgili olmayan bellek sektörlerini hariç tutar.
Yeni bir hata oluştuğunda ve yeni bir çekirdek döküm dosyası oluşturulduğunda, önceki dosyanın üzerine yazılır.

  • Küçük bellek dökümü en küçük birimi kaydeder kullanışlı bilgisorunun nedenini belirlemek için gerekli. Küçük bir bellek dökümü oluşturmak için, disk belleği dosyası önyükleme biriminde en az 2 MB olmalıdır.

Küçük bellek dökümü dosyaları aşağıdaki bilgileri içerir:

  • ölümcül hata mesajı, parametreleri ve diğer veriler;
  • yüklü sürücülerin listesi;
  • hatanın meydana geldiği işlemci içeriği (PRCB);
  • hataya neden olan işlem için işlem bilgileri ve çekirdek bağlamı (EPROCESS);
  • hataya neden olan iş parçacığı için işlem bilgileri ve çekirdek bağlamı (ETHREAD);
  • hataya neden olan iş parçacığı için çekirdek modu çağrı yığını.

Alan sınırlı olduğunda kullanılan küçük bellek dökümü dosyası hard disk... Ancak, içerdiği sınırlı bilgi nedeniyle, bu dosyanın analizi, oluştuğu anda çalışan iş parçacığının doğrudan neden olmadığı hataları her zaman algılamayabilir.

Bir sonraki hata oluştuğunda ve ikinci bir küçük bellek dökümü dosyası oluşturulduğunda, önceki dosya saklanır. Her birine ek dosya benzersiz bir isim verilir. Tarih, dosya adında kodlanmıştır. Örneğin, Mini051509-01.dmp, 15 Mayıs 2009'da oluşturulan ilk bellek dökümü dosyasıdır. Tüm küçük bellek dökümü dosyalarının bir listesi klasörde saklanır. % SystemRoot% \\ Minidump.

İşletme windows sistemi XP şüphesiz çok daha güvenilirdir önceki sürümler, - gibi çabalar sayesinde microsoft geliştiricilerive sürücü geliştiricileri donanımve uygulamalı geliştiriciler yazılım... Bununla birlikte, acil durumlar - her türlü sistem arızası ve çökmesi - kaçınılmazdır ve bu, PC kullanıcısının bunları ortadan kaldırmak için bilgi ve beceriye sahip olup olmadığına bağlıdır, birkaç dakika sorun giderme (örneğin, bir sürücüyü güncelleme / hata ayıklama) harcaması gerekecektir. veya yeniden yükleme uygulama programıneden olan sistem hatası), - veya yeniden yüklemek / yapılandırmak için birkaç saat işletim sistemi ve uygulama yazılımı (gelecekte arıza ve çökmeler olmayacağını garanti etmez!).

Birçok sistem yöneticileri hala ihmal edilen analiz çökme dökümleri Windows, onlarla çalışmanın çok zor olduğuna inanıyor. Zor ama mümkün: örneğin, on kişiden birinin analizi başarılı olsa bile, en basit çarpışma dökümlerini analiz etme yöntemlerinde ustalaşmak için harcanan çabalar boşuna olmayacak! ..

"Sistem yöneticisi" uygulamamdan örnekler vereceğim.

İÇİNDE yerel ağ olmadan bariz neden ("Donanım" sırayla, virüslerin olmaması garantilidir, kullanıcılar - "normal ellerle") Windows XP SP1 / SP2 ile "yerleşik" birkaç iş istasyonu öldürüldü. Bilgisayarlar yüklenir normal mod başarısız oldu - "Selamlar" a geldi - ve sonsuza kadar yeniden başlatıldı. Aynı zamanda, PC'ler Güvenli Modda başlatıldı.

Bellek dökümlerinin incelenmesi, arızanın nedenini belirlemeyi mümkün kıldı: suçlu Kaspersky Anti-Virus'du, daha doğrusu, taze anti-virüs veritabanları (daha doğrusu, iki temel modül - base372c.avc, base032c.avc).

... Böyle bir durum daha vardı. Windows XP SP3 yüklü yerel bir bilgisayarda, .avi ve .mpeg biçimlerinde video dosyalarını açmaya çalışırken, yeniden başlatma gerçekleşti. Bellek dökümünü incelemek, arızanın nedenini belirlememizi sağladı - sürücü nv4_disp.dll dosyası nVIDIA grafik kartları GeForce 6600. Sürücüyü güncelledikten sonra sorun çözüldü. Genel olarak, nv4_disp.dll sürücüsü, genellikle BSOD'lara yol açan en kararsız sürücülerden biridir.

Her iki durumda da, çarpışma dökümü çalışması, teşhis ve sorun giderme süresini minimuma indirmeyi mümkün kıldı (birkaç dakika!).

Bellek dökümü analizi

Kilitlenme dökümlerini analiz etmek için birçok program vardır, örneğin, DumpChk, Kanalyze, WinDbg.

WinDbg kullanarak çökme dökümlerinin analizine bakalım (Hata Ayıklama Araçlarına dahildir) pencereler için).

Hata Ayıklama Araçlarını Yükleme

  • microsoft'un Web sitesini ziyaret edin http://www.microsoft.com/whdc/devtools/debugging/default.mspx
  • windows için Hata Ayıklama Araçlarını indirin, örneğin 32 bit için windows sürümleri bu, Windows için Hata Ayıklama Araçlarını İndir sayfasından yapılabilir;
  • indirdikten sonra çalıştır kurulum dosyası;
  • windows için Hata Ayıklama Araçları penceresinde Kurulum sihirbazı Sonrakine tıkla;
  • ile pencerede lisans anlaşması Kabul ediyorum -\u003e Sonraki anahtarını ayarlayın;
  • içinde sonraki pencere yükleme türünü seçin (varsayılan olarak, hata ayıklama araçları \\ Program dosyaları\\ Windows için Hata Ayıklama Araçları) -\u003e Sonraki -\u003e Yükle -\u003e Bitir;
  • bellek dökümü dosyalarını yorumlamak için, Windows sürümünüz için Sembol Paketlerini de (sembol dosyaları veya hata ayıklama sembol dosyaları) indirmelisiniz - Windows Sembol Paketlerini İndir sayfasına gidin;
  • windows sürümünüzü seçin, Sembol Paketleri kurulum dosyasını indirin ve çalıştırın;
  • lisans sözleşmesinin bulunduğu pencerede Evet'i tıklayın;
  • sonraki pencerede kurulum için klasörü seçin (varsayılan olarak \\ WINDOWS \\ Semboller sunulur) -\u003e Tamam -\u003e Evet;
  • içinde microsoft penceresi "Kurulum tamamlandı" mesajını içeren Windows Sembolleri Tamam'a tıklayın.

Kilitlenme Dökümlerini Analiz Etmek için WinDbg'yi Kullanma

  • winDbg'yi çalıştırın (varsayılan olarak Windows için \\ Program Files \\ Debugging Tools klasörüne kurulur);
  • dosya menüsünü -\u003e Sembol Dosya Yolu… seçin;
  • sembol Arama Yolu penceresinde, Gözat ... düğmesini tıklayın;
  • klasöre gözat penceresinde Semboller klasörünün konumunu belirtin (varsayılan olarak - \\ WINDOWS \\ Semboller) -\u003e Tamam -\u003e Tamam;
  • dosya menüsünü seçin -\u003e Kilitlenme Dökümünü Aç… (veya Ctrl + D tuşlarına basın);
  • kilitlenme Dökümünü Aç penceresinde, Kilitlenme Dökümü Dosyasının (* .dmp) -\u003e Aç konumunu belirtin;
  • Çalışma alanı penceresinde "Kaydet" sorusuyla için bilgi çalışma alanı? ", Bir daha sorma -\u003e Hayır;
  • winDbg penceresinde Komut Dökümü penceresi açılacaktır<путь_и_имя_файла_дампа> döküm analizi ile;
  • bellek dökümü analizini gözden geçirin;
  • "Hata Kontrolü Analizi" bölümünde belirtilecektir makul sebep çökme, örneğin, "Muhtemelen neden olduğu: smwdm.sys (smwdm + 454d5)";
  • görüntülemek için detaylı bilgi "Ayrıntılı hata ayıklama bilgisi almak için! analiz et -v kullanın" satırındaki "! analiz et -v" bağlantısını tıklayın;
  • winDbg'yi kapatın;
  • sorunun nedenini ortadan kaldırmak için elde edilen bilgileri kullanın.

Örneğin, aşağıdaki ekran görüntüsünde, arızanın nedeni ekran kartı sürücüsünün nv4_disp.dll dosyasıdır.

"Mavi ölüm ekranlarının" görünmesiyle bağlantılı birçok sorun vardır. Çoğu durumda, bunlar elbette, aygıt sürücüleriyle ve donanım arızasıyla ilişkili sorunlardır. Soru, sıradan bir kullanıcı için hatanın ne olduğunu nasıl belirleyeceğidir?

İşletim sistemini yapılandıracağımız gerçeğiyle başlamaya değer, yani bir mavi ekran hatası oluştuğunda otomatik olarak yeniden başlatmaya geçmeyecek şekilde yapacağız, ancak gösteriyor bu ekran kullanıcı tarafından manuel sıfırlama veya kapatmadan önce:

  1. Bunu yapmak için, "Sistem Özellikleri" ni açın, sol sütunda öğeyi bulun " Ekstra seçenekler sistemleri ".
  2. Açılan pencerede "Başlangıç \u200b\u200bve Kurtarma" bölümünü bulun. Seçenekler'i tıklayın.
  3. Ardından, değiştirilen pencerede "Sistem Arızası" bölümünü bulun. "Otomatik yeniden başlatma gerçekleştir" onay kutusunun işaretini kaldırın.
  4. Bundan sonra, "OK" düğmelerine basarak değiştirilen parametreleri kaydetmeniz gerekecektir.

Şimdi, mavi bir ölüm ekranının eşlik ettiği bir çökme meydana gelirse, bilgisayar yeniden başlamaz ve daha sonra sorunu tanıyabileceğiniz hata kodunu yazabilirsiniz. Örneğin, tabloda bir hata bulmak bSOD hataları Arızanın RAM ile ilgili olduğunu belirleyin. Bu tür manipülasyonların gerçekleştirilmesi sizin için zorsa, bu durumda, sıradan bir kullanıcı için uygun bir biçimde mavi bir ekran gösterecek bir yardımcı program vardır.

Yardımcı olacak yardımcı program!

Mavi Ekran Görünümü kritik bir hatayla ilgili verilerin kaydedildiği bir çökme sırasında oluşturulan çökme dökümü dosyalarını bağımsız olarak bulur. Mavi Ekran Görünümü iki bölmeli bir arayüze sahiptir. İÇİNDE üst panel yardımcı program döküm dosyalarının bir listesini gösterir ve alt panelde hataya neden olan adresleri içeren dosyaları gösterir.


  • dökmek(bellek dökümü) - RAM'in "anlık görüntüsü", RAM içeriğinin çıktısı veya ekrana yazdırılacak;

Aşağıdaki döküm türleri vardır:

  • Tam bellek dökümü önemli bir hata oluştuğunda sistem belleğinin tüm içeriğini yazar. Varsayılan olarak, bir dosyaya tam bir bellek dökümü yazılır Windows dizini\\ Memory.dmp. Tam Bellek Dökümü seçeneği, 32 bit işletim sistemine ve 2 veya daha fazla gigabayt RAM'e sahip bilgisayarlarda kullanılamaz. Yeni bir hata oluştuğunda, önceki dosyanın üzerine yazılır.
  • Çekirdek bellek dökümü yalnızca çekirdek belleğini yazar, bu da sistem aniden durduğunda günlüğe veri yazmayı hızlandırır. Varsayılan olarak, Windows Directory \\ Memory.dmp dosyasına bir çekirdek bellek dökümü yazılır. Yeni bir hata oluştuğunda ve yeni bir çekirdek bellek dökümü dosyası oluşturulduğunda, önceki dosyanın da üzerine yazılır.
  • Küçük bellek dökümü en küçük birimi kaydeder gerekli bilgi sorunun nedenini belirlemek için. Küçük bellek dökümü dosyaları, önemli hata, parametreleri, yüklenen sürücülerin listesi vb. Hakkında bilgiler içerir.

Not! Bir sonraki hata oluştuğunda, önceki dosya kaydedilir. Her ek dosyaya, oluşturulma tarihine göre benzersiz bir ad verilir. Örneğin, Mini112711-01.dmp, 27 Kasım 2011'de oluşturulan ilk bellek dökümü dosyasıdır. Tüm küçük bellek dökümü dosyalarının bir listesi Windows Directory \\ Minidump klasöründe depolanır.

Hafıza dökümü almak

  1. Özellikleri açma win sistemleri + Duraklat (veya sağ tık "Bilgisayarım" ve özellikler);
  2. Gelişmiş sistem ayarları, Gelişmiş sekmesi, Başlangıç \u200b\u200bve kurtarma ve Seçenekler.
  3. Görünen "Yükle ve Geri Yükle" penceresinde, küçük dökümlerin oluşturulmasını seçin: - Hata ayıklama bilgileri yazma, Küçük bellek dökümü.

Onay işareti hemen kaldırılır otomatik yeniden başlatma, Yukarıda da belirtildiği gibi.

BlueScreenView sonucu

BlueScreenView BsoD sırasında oluşturulan tüm çökme dökümü dosyalarını tarayacak ve tüm çökmelerle ilgili bilgileri tek bir tabloda görüntüleyecektir. BlueScreenView, her kilitlenme için bir dosya dökümü, kilitlenme tarihi ve saati, mavi ekranda görüntülenen temel kilitlenme bilgileri ve çökmeye neden olabilecek sürücülerin veya modüllerin ayrıntılarını (dosya adı, ürün adı, dosya açıklama ve dosya sürümü).

Müşterilere danışmanlık yaparken, onlar için sıklıkla tek yol Mavi Ölüm Ekranıyla (BSoD) mücadele, DUR hata numarasıyla bir sorun gidermedir. Genellikle, bu yaklaşım sorunu çözmek için genel bir yön seçmeye yardımcı olabilir, ancak her zaman yerelleştirilmesine izin vermez. Örneğin, hangi belirli aygıt sürücüsünün BSoD'ye neden olduğunu belirleyin. Açıkça söylemek gerekirse, bellek dökümlerinin analizi, DURDURMA hatalarını ele almanın ana yöntemidir.

DUR hatası oluştuğunda Microsoft Windows hata ayıklama bilgileri yazabilir. Bunu yapmak için şu adımları izleyin:

1. düğmesine basın Başlat ve menüden seçin Kurulum paragraf Kontrol Paneli
2. Simgeye çift tıklayın Sistemi
3. Sekmeyi açın bunlara ek olarak ve düğmeye basın
4. bölgede Hata ayıklama bilgileri yazma Öğeyi seçin Küçük bellek dökümü (64 KB)

Küçük bellek dökümü dosyası yazıyor minimum bilgibilgisayar arızasının nedenini belirlemek için. Bu, önyükleme biriminde en az 2 MB boyutunda bir disk belleği dosyası gerektirir. Varsayılan olarak, küçük bellek dökümü dosyaları% SystemRoot% \\ Minidump klasöründe saklanır.

Küçük bellek dökümü dosyaları aşağıdaki bilgileri içerir:

  • Önemli hata mesajı, parametreler ve diğer veriler
  • Yüklenen sürücülerin listesi
  • Çöken işlemci bağlamı (PRCB)
  • Hataya neden olan işlem için işlem bilgileri ve çekirdek bağlamı (EPROCESS)
  • Hataya neden olan iş parçacığı için işlem bilgileri ve çekirdek bağlamı (ETHREAD)
  • Hataya neden olan iş parçacığı için çekirdek modu çağrı yığını

Küçük bir bellek dökümü dosyasının avantajı, boyut olarak küçük olmasıdır. Şu anda, bilgisayarlarda yüklü olan RAM miktarı gigabayt cinsinden ölçülmektedir, bu nedenle bu boyutta bir dosyanın kaydedilmesi uzun zaman alacaktır ve sınırlı sayıda zorluklara neden olabilir. alan zor disk. Öte yandan, döküm dosyasında yer alan sınırlı bilgi, oluştuklarında çalışan iş parçacığının doğrudan neden olmadığı hataları her zaman tespit etmeyi mümkün kılmaz.

Yardımcı programlar bellek dökümlerini analiz etmek için kullanılır kd.exe ve windbg.exe... Bu yardımcı programlar, Windows için Hata Ayıklama Araçlarına dahildir. Onlarla çalışmayı basitleştirmek için senaryoyu (Alexander Suhovey tarafından) kullanmanızı tavsiye ederim. Ayrıca bir yardımcı programa ihtiyacınız olacak reg.exe (Microsoft Windows XP ve sonraki sürümlere dahildir; Windows 2000 için Windows 2000 Destek Araçlarına dahildir).

Arşivi komut dosyasıyla indirin ve klasöre açın D: \\ KDFE... Hata ayıklayıcı, Windows için Hata Ayıklama Araçları ile aynı konumdan indirilebilen sembol dosyalarının çalışmasını gerektirir. Bu dosyaların bulunduğu paketin toplam boyutu oldukça etkileyicidir (seçilen platforma bağlı olarak 1GB'nin üzerinde olabilir). Bu nedenle, komut dosyası, Microsoft Symbol Server'dan yalnızca belirli bir bellek dökümü ile çalışmak için gerekli sembolik dosyaları otomatik olarak indirecek ve daha sonra kullanmak üzere yerel olarak diske kaydedecek şekilde yapılandırılmıştır. Gerekirse, komut dosyasını düzenleyebilir ve değişkeni değiştirebilirsiniz. smbpathkd.exe'nin gerekli dosyaları kaydedeceği klasörü işaret eder.

Kullanmak için, parametre olarak bellek dökümü dosyasının adıyla kdfe.cmd'yi çalıştırın. Örneğin:

D: \\ KDFE\u003e kdfe mini111208-01.dmp

"D: \\ KDFE \\ Mini111208-01.dmp" inceleniyor, lütfen bekleyin ... Bitti.

Kilitlenme tarihi: 12 Kasım Çarşamba 08: 35: 56.214 2008 (GMT + 2)
Hata kodunu durdur: 0x50
İşlem adı: AUM.exe
Muhtemelen şunlardan kaynaklanmaktadır: nv4_disp.dll (nv4_disp + 41213)

Olması gereken durumlar olduğu unutulmamalıdır. yanlış iş Sürücülerden biri, daha sonra STOP hatası tamamen normal bir sürücüde meydana gelir. Bu durumda yardımcı programı kullanmanızı öneririm verifier.exe (santimetre.

Kritik nedeni windows hatalarımavi ekranların (BSOD) eşlik ettiği genellikle bir sürücüdür - yeni yüklenmiş veya bozulmuş. Hatanın nedeninin hangi sürücü olduğunu belirledikten sonra, sorunu çözmeye devam edebilirsiniz: sürücüyü güncelleyin, daha fazlasına geri dönün erken versiyon, sürücüyü yükleyen uygulamayı yeniden yükleyin veya kaldırın, vb. Sürücü adı her zaman mavi ekranda görüntülenmez. Ancak, sorunlu sürücüyü birkaç dakika içinde tanımlamak için bir bellek dökümü kullanmanın çok basit bir yolu vardır.

Adım 1 - Bellek Dökümü Yazmayı Etkinleştirme

Öncelikle, döküm kaydının etkinleştirildiğinden emin olmanız gerekir. Bunu yapmak için, tuş kombinasyonuna basarak sistem özelliklerini açın. Kazan + Duraklat, [Vista'da bağlantıya tıklayın Ek sistem parametreleri], sekmeye git bunlara ek olarakve son olarak düğmeye basın.

Küçük bellek dökümleri bizim amaçlarımız için yeterli olmalıdır.

Kritik bir hata oluştuğunda kaydedilecekleri klasörün yoluna dikkat edin.

Artık dosyayı sıkıştırabilir, forum gönderisine ekleyebilirsiniz Kritik Windows hatalarını giderin ve birisinin size sorunlu sürücünün adını söylemesini bekleyin :) Ama bunu çok fazla çaba harcamadan kendiniz yapabilirsiniz.

Adım 2 - Tanılama Araçlarını İndirme ve Kurma

Düşündüğünüz kadar korkutucu değil :)

  1. Windows için Hata Ayıklama Araçlarını indirin ve yükleyin. Windows Web Installer SDK ile birlikte gelirler ve başlatıldıktan sonra Ortak Yardımcı Programlar altında Hata Ayıklama Araçları'nı seçmeniz gerekir.
  2. İndir senaryo (kdfe.cmd), Alexander Sukhovey tarafından yazılan ve kaynakta yayınlanan sysadmins.ru (Çünkü canlı bağlantı Orada bulamadım, kendime teklif ediyorum). Arşivi herhangi bir klasöre açın.
    Not... Standart olmayan konum durumunda program klasörleri Dosyalar için, Windows için Hata Ayıklama Araçlarının yüklü olduğu klasörün yolunu kdfe.cmd'de belirtmeniz gerekebilir. 41. satırdaki dbgpath değişkenini kullanın.

Adım 3 - Bellek Dökümünü Analiz Etme

Şimdi her şey tek bir komut çalıştırmaya bağlı. Komut istemini açın ve sıkıştırmayı açtığınız klasöre gidin. kdfe.cmd... Bellek dökümü dosyasının yolunu parametre olarak belirterek dosyayı çalıştırın (aşağıdaki örnekte dosya adlandırılmıştır) Mini1110307-01.dmp)

Bu kısa not, acil bir durumla karşılaşmak için sistemi nasıl yapılandırabileceğinizi göstermeyi amaçlamaktadır. windows bellek dökümüyani, mavi bir ölüm ekranının (BSOD) ortaya çıkmasıyla karakterize edilen kritik bir çökme durumunda oluşturulabilen bir döküntü. Genel olarak çöplük nedir, neden ihtiyacımız var ve nedir, hangi sorunları çözmek için tasarlanmıştır ve hangi bilgileri içerir?

Bellek dökümü - içerik çalışan bellek çalışma alanlarına ek olarak işlem, çekirdek veya tüm işletim sistemi, ek bilgi işlemci kayıtlarının durumu, yığının içeriği ve diğer hizmet yapıları hakkında.

Bu içeriğe neden ihtiyacımız olabilir? windows bellek dökümü? Belki de en sık kullanılan bellek dökümü, işletim sisteminin tamamen kapanmasına neden olan bir sistem arızasının () nedenlerini araştırmak için kullanılır. Buna ek olarak, bellek durumu başka amaçlar için de kullanılabilir. Ayrıca, herhangi bir arıza hakkında bilgi almanın tek yolunun bir bellek dökümünün olması da önemlidir! Ve bir sistem belleği dökümünü almak (elde etmek), aslında, sistemin fiziksel belleğinin içeriğinin anlık görüntüsünü (kopyasını) elde etmenin tek doğru yöntemidir.

Dökümün içeriği, başarısızlık anındaki bellek durumunu ne kadar doğru yansıtırsa, o kadar çok analiz edebiliriz acil Durum... Bu nedenle, sistemin fiziksel belleğinin tam olarak güncel bir kopyasını kesinlikle bir şekilde almak son derece önemlidir. belirli bir an arızadan hemen önceki süre. Ve bunu yapmanın tek yolu tam bir kilitlenme dökümü oluşturmaktır. Nedeni oldukça önemsizdir - ister bir arızanın bir sonucu olarak ister yapay olarak simüle edilmiş bir durumun bir sonucu olsun, sistemin acil bir hafıza dökümü meydana geldiğinde, sistem şu anda acil durum fonksiyonlarının kontrolünü (KeBugCheckEx) alır. kesinlikle değişmemiş (statik) bir durum, bu nedenle, arızanın meydana geldiği an ile verilerin ortama yazıldığı an arasında hiçbir şey fiziksel belleğin içeriğini değiştirmez ve orijinal durumunda diske yazılır. Evet, bu teoride, ancak gerçek hayatta nadirdir, ancak hatalı donanım bileşenleri nedeniyle bellek dökülmesinin kendisinin zarar görebileceği veya döküm kayıt işlemi sırasında istasyonun donabileceği durumlar vardır.

Vakaların ezici çoğunluğunda, çökme dökümü işleminin başladığı andan, bellek içeriğinin diske yazıldığı ana kadar bellekteki bilgiler değişmeden kalır.

Teorik olarak, bellek ayak izinin durağanlığı (değişmezliği), hata hakkındaki bilgileri görüntüleyen ve bir bellek dökümü oluşturma sürecini başlatan KeBugCheckEx işlevi çağrıldığında, sistemin zaten tamamen durdurulmuş olması ve içeriğinin fiziksel bellek diskte bulunan bloklara disk belleği dosyası tarafından yazılır, daha sonra işletim sisteminin sonraki yükleme sürecinde, sistem medyasındaki bir dosyaya dökülür. Neredeyse bir kez arızalı bir durum gözlemledim anakart bellek dökümü kaydetmeye izin vermedi: a) döküm saklama mantığının çalışması sırasında donma (işlem% 100'e ulaşmadı), b) bellek dökümü dosyasına zarar verme (yapılarda hata ayıklayıcı lanetlendi), c) sıfır uzunlukta yazma memory.dmp döküm dosyaları. Bu nedenle, bellek dökümü oluşturma sırasındaki sistemin zaten tamamen durdurulmuş olmasına rağmen ve yalnızca acil durum koduarızalı donanım, işlemin herhangi bir aşamasında istisnasız herhangi bir mantıkta kendi ayarlamalarını yapabilir.
Geleneksel olarak İlk aşama bir Windows bellek dökümünü kaydetmek için, disk belleği dosyasına ayrılan disk blokları kullanılır. Ardından, mavi ekran oluştuktan ve yeniden başlatma gerçekleştikten sonra veriler, ayrı dosyave ardından dosya, döküm türüne bağlı olarak desene göre yeniden adlandırılır. Ancak sürümden başlayarak Windows Vista, bu durum değiştirilebilir, artık kullanıcıya, seçilen dökümü disk belleği dosyasının katılımı olmadan kaydetme fırsatı verilir, arıza hakkındaki bilgileri geçici bir dosyaya koyar. Bu, ile ilişkili yapılandırma hatalarını dışlamak için yapıldı. yanlış ayar genellikle bellek dökümünü kaydetme sürecinde sorunlara yol açan disk belleği dosyasının boyutu ve konumu.
Windows işletim sisteminin ne tür dökümler oluşturmamıza izin verdiğini görelim:

  • İşlemin bellek dökümü (uygulama);
  • Çekirdek bellek dökümü;
  • Tüm sistemin bellek dökümü (tam bellek dökümü).

Tüm kilitlenme dökümleri iki ana kategoriye ayrılabilir:

  • Oluşan istisnayla ilgili bilgileri içeren kilitlenme dökümleri... Genellikle şurada oluşturulur otomatik moduygulama / çekirdekte işlenmemiş bir istisna meydana geldiğinde ve buna göre sistem (yerleşik) hata ayıklayıcı çağrılabilir. Bu durumda, istisna hakkındaki bilgiler döküme yazılır, bu da istisna türünün ve sonraki analiz sırasında meydana geldiği yerin belirlenmesini kolaylaştırır.
  • İstisna bilgisi olmayan kilitlenme dökümleri... Genellikle kullanıcı tarafından manuel olarak oluşturulur, basit bir enstantane fotoğraf daha sonraki analizler için süreç. Bu analiz, hiçbir istisna ortaya çıkmadığı için istisna türünün belirlenmesi anlamına gelmez, ancak tamamen farklı bir tür analizi, örneğin işlem veri yapılarının incelenmesi vb.

Çekirdek bellek dökümü yapılandırması

Bir yönetici ile giriş yapmalısınız hesap bu bölümdeki adımları tamamlamak için.

Doğrudan Windows Kilitlenme Dökümü ayarlarını yapılandırmaya gidelim. Öncelikle, sistem özellikleri penceresine aşağıdaki yollardan biriyle girmemiz gerekir:

  1. "Bilgisayarım" - "Özellikler" - "Gelişmiş sistem ayarları" - "Gelişmiş" simgesine sağ tıklayın.
  2. "Başlat" düğmesi - "Denetim Masası" - "Sistem" - "Gelişmiş sistem ayarları" - "Gelişmiş".
  3. "Windows" + "Duraklat" - "Gelişmiş sistem ayarları" - "Gelişmiş" kısayol tuşları.

  4. kontrol system.cpl, 3
  5. Çalıştırmak komut satırı (cmd):
    SystemPropertiesAdvanced

Açıklanan eylemlerin sonucu, "Sistem Özellikleri" penceresini açmak ve "Gelişmiş" sekmesini seçmektir:

Bundan sonra, "Başlangıç \u200b\u200bve Kurtarma" bölümünde "Seçenekler" i seçip "Başlangıç \u200b\u200bve Kurtarma" adlı yeni bir pencere açıyoruz:

Tüm kilitlenme dökümü parametreleri, Sistem Arızası adı verilen bir parametre bloğunda gruplanır. Bu blokta aşağıdaki parametreleri ayarlayabiliriz:

  1. Olayları sistem günlüğüne yazın.
  2. Otomatik yeniden başlatma gerçekleştirin.
  3. Hata ayıklama bilgileri yazılıyor.
  4. Döküm dosyası.
  5. Mevcut döküm dosyasının üzerine yazın.

Gördüğünüz gibi, listedeki parametrelerin çoğu oldukça önemsiz ve anlaşılması kolay. Ancak, "Döküm Dosyası" parametresini ayrıntılı olarak açıklamak istiyorum. Parametre bir açılır liste olarak sunulur ve dört olası değeri vardır:

Küçük bellek dökümü

Küçük bellek dökümü (mini döküm), bir çökme hakkında en az miktarda bilgi içeren dosyadır. Olası tüm bellek dökümlerinin en küçüğü. Bariz dezavantajlara rağmen, genellikle tedarikçiye iletim başarısızlığı hakkında bilgi olarak kullanılan mini pompalardır. üçüncü taraf sürücüler daha fazla çalışma amacıyla.
Kompozisyon:

  • Hata mesajı.
  • Hata değeri.
  • Hata parametreleri.
  • Çöken işlemci içeriği (PRCB).
  • Tüm iş parçacıklarıyla çökme süreci için bilgileri ve çekirdek bağlamını (EPROCESS) işleyin.
  • Kilitlenen iş parçacığı için işlem bilgileri ve çekirdek bağlamı (ETHREAD).
  • Kilitlenmeye neden olan iş parçacığı için çekirdek modu yığını.
  • Yüklenen sürücülerin listesi.

Konaklama: % SystemRoot% \\ Minidump \\ MMDDYY-XXXXX-NN.dmp... Burada MMDDYY - sırasıyla ay, gün ve yıl, NN - seri numarası dökümü.
Boyut: Boyut, işletim sisteminin bitliğine bağlıdır: Disk belleği dosyasında (veya DedicatedDumpFile'da belirtilen dosyada) 32 bit için yalnızca 128 kilobayt ve 64 bit işletim sistemi için 256 kilobayt gerekir. Bu kadar küçük bir boyut ayarlayamadığımız için 1 megabayta yuvarlıyoruz.

Çekirdek bellek dökümü

Bu döküm türü, çökme anındaki tüm çekirdek belleğinin bir kopyasını içerir.
Kompozisyon:

  • Çalışan işlemlerin listesi.
  • Mevcut iş parçacığının durumu.
  • Hata anında fiziksel bellekte bulunan çekirdek modu bellek sayfaları: çekirdek modu sürücü belleği ve çekirdek modu program belleği.
  • Donanıma bağlı seviye belleği (HAL).
  • Yüklenen sürücülerin listesi.

Çekirdek bellek dökümünde ayrılmamış ve kullanıcı modu sayfaları yoktur. Kabul ediyorum, kullanıcı modu işlem sayfalarının bir sistem çökmesi (BugCheck) sırasında bizi ilgilendirmesi pek olası değildir, çünkü bir sistem çökmesi genellikle çekirdek modu koduyla başlatılır.

Boyut: İşletim sistemi tarafından ayrılan çekirdek adres alanının boyutuna ve çekirdek modu sürücülerinin sayısına göre değişir. Tipik olarak, disk belleği dosyasındaki (veya DedicatedDumpFile'da belirtilen dosyadaki) fiziksel belleğin yaklaşık üçte birini gerektirir. Değişebilir.

Tam bellek dökümü

Tam bir bellek dökümü, çökme anındaki tüm fiziksel belleğin (RAM, RAM) bir kopyasını içerir. Buna göre, sistem belleğinin tüm içeriği dosyaya dahil edilir. Bu hem bir avantaj hem de ana dezavantajçünkü boyutu çok fazla RAM içeren bazı sunucularda önemli olabilir.
Kompozisyon:

  • "Görünür" fiziksel belleğin tüm sayfaları. Bu, donanım tarafından kullanılan alanlar hariç, neredeyse tüm sistem belleğidir: BIOS, PCI alanı vb.
  • Kilitlenme anında sistemde çalışan işlemlerin verileri.
  • Sanal adres alanına eşlenmeyen, ancak hatanın nedenini araştırmanıza yardımcı olabilecek fiziksel bellek sayfaları.

Tam bellek dökümü, varsayılan olarak, BIOS tarafından kullanılan fiziksel bellek alanlarını içermez.
Konum:% SystemRoot% \\ MEMORY.DMP. Bir önceki dökümün üzerine yazılır.
Boyut: Disk belleği dosyasında (veya DedicatedDumpFile'da belirtilen dosyada), fiziksel bellek + 257 megabayt boyutuna eşit bir birim gereklidir (bu 257 MB, belirli bir başlık + sürücü verilerine bölünmüştür). Aslında, bazı işletim sistemlerinde, disk belleği dosyası için daha düşük eşik, tam olarak fiziksel belleğin boyutuna ayarlanabilir.

Otomatik bellek dökümü

Windows 8 / Windows Server 2012'den başlayarak, sistem tanıtıldı yeni tip varsayılan tür tarafından ayarlanan "Otomatik Bellek Dökümü" adlı döküm. Bu durumda, bir veya başka bir arıza durumunda hangi bellek dökümünün yazılacağına sistemin kendisi karar verir. Dahası, seçim mantığı, işletim sisteminin çökme sıklığı da dahil olmak üzere birçok kritere bağlıdır.

Windows bellek dökümü yapılandırmasını değiştirdikten sonra, bilgisayarınızı yeniden başlatmanız gerekebilir.

Kayıt defteri parametreleri

Çökme dökümü parametrelerini tanımlayan kayıt defteri anahtarı:

HKEY_LOCAL_MACHINE \\ SYSTEM \\ CurrentControlSet \\ Control \\ CrashControl

Parametreler:

Parametre Bir tür Açıklama
Otomatik yeniden başlatma REG_DWORD BSOD oluştuğunda otomatik yeniden başlatmayı etkinleştirin / devre dışı bırakın.
CrashDumpEnabled REG_DWORD Oluşturulacak döküm türü.
  • 0 - bellek dökümü oluşturmayın;
  • 1 - tam bellek dökümü;
  • 2 - çekirdek bellek dökümü;
  • 3 - küçük bellek dökümü;
DumpFile REG_EXPAND_SZ Çekirdek bellek dökümü ve tam bellek dökümünün yolu ve adı.
DumpFilters REG_MULTI_SZ Bellek dökümü sürücü yığınındaki bir filtre sürücüsü. Kilitlenme dökümleri oluşturma aşamasında yeni işlevler eklemenize olanak tanır. Örneğin, dökümün içeriğini şifrelemek. Değerin değiştirilmesi tavsiye edilmez.
LogEvent REG_DWORD Sistem günlüğüne bir olay yazma.
MinidumpDir REG_EZPAND_SZ Küçük bellek dökümünün yolu ve adı.
MinidumpsCount REG_DWORD Maksimum küçük bellek dökümü sayısı. Aşıldığında, eski sürümlerin üzerine yazılır.
Üzerine yaz REG_DWORD Mevcut döküm dosyasının üzerine yazın. Yalnızca çekirdek bellek dökümü ve tam bellek dökümü için.
IgnorePagefileSize REG_DWORD Yok sayar standart dosya bir bellek dökümünün geçici (ara) depolanması için bir yer olarak takas. Bellek dökümünün ayrı bir dosyaya yazılması gerektiğini belirtir. DedicatedDumpFile seçeneği ile birlikte kullanılır.
DedicatedDumpFile REG_EZPAND_SZ Geçici olanın yolu ve adı alternatif dosya bir bellek dökümü yazmak için. İkinci geçişte veriler yine de DumpFile / MinidumpDir'e taşınacaktır.

Manuel olarak bellek dökümü oluşturma

Yukarıda ayarları açıkladık. otomatik oluşturma kritik bir hata durumunda sistem çökme dökümleri, yani işlenmeyen özel durum çekirdek kodunda. Ama içinde gerçek hayat, işletim sisteminin çökmesine ek olarak, belirli bir zamanda sistem belleğinin bir dökümünü almanın gerekli olduğu durumlar da vardır. Bu durumda nasıl olunur? WinDbg / LiveKD hata ayıklayıcılarında dump komutunu kullanmak gibi tüm fiziksel belleğin anlık görüntüsünü alma yöntemleri vardır. LiveKD, Kd çekirdek hata ayıklayıcısını canlı bir sistemde çalıştırmanıza izin veren bir programdır. yerel mod... WinDbg hata ayıklayıcı da bu özelliğe sahiptir. Ancak, dökümün oluşturulması zaman aldığından ve çekirdek modu hata ayıklayıcısını kullanırsanız, sistem çalışmaya ve bellek sayfalarında değişiklik yapmaya devam ettiğinden, döküm tutarsız olduğundan anında döküm yöntemi doğru değildir.