BSoD: Bellek dökümlerinin analizi. 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

  • 24.08.2019

Tüm Windows sistemleri, önemli bir hata algıladığında, RAM içeriğinin bir çökme dökümünü (anlık görüntüsünü) yapar ve sabit diske kaydeder. Üç tür bellek dökümü vardır:

Tam bellek dökümü - ana belleğin tüm içeriğini kaydeder. Anlık görüntü boyutu, RAM + 1 MB (başlık) boyutuna eşittir. Bu, çok fazla belleğe sahip sistemlerde döküm boyutu çok büyük olacağından çok nadiren kullanılır.

Çekirdek bellek dökümü - yalnızca çekirdek moduyla ilgili ana bellek bilgilerini depolar. Sistem çökmesinin nedeni hakkında bilgi taşımadığından kullanıcı modu bilgileri kaydedilmez. Döküm dosyasının boyutu, RAM'in boyutuna bağlıdır ve 50 MB (128 MB RAM'e sahip sistemler için) ile 800 MB (8 GB RAM'e sahip sistemler için) arasında değişir.

Küçük bellek dökümü (mini döküm) - oldukça az miktarda bilgi içerir: parametreler içeren bir hata kodu, sistem çökmesi sırasında RAM'e yüklenen sürücülerin listesi vb., ancak bu bilgi hatalı bir sürücüyü tanımlamak için yeterlidir. . Bu tür bir dökümün bir başka avantajı da küçük dosya boyutudur.

Sistem kurulumu

Onu çağıran sürücüyü tanımlamak için küçük bir bellek dökümü kullanmamız yeterli olacaktır. Sistemin bir çökme sırasında mini bir dökümü kaydetmesi için aşağıdaki adımları gerçekleştirmelisiniz:

Windows XP için Windows 7 için
  1. Benim bilgisayarım Özellikler
  2. sekmeye git Bunlara ek olarak;
  3. Seçenekler;
  4. alanında Hata ayıklama bilgilerini yazma Seç Küçük bellek dökümü (64 KB).
  1. Simgeye sağ tıklayın Bir bilgisayar bağlam menüsünden seçin Özellikler(veya Win + Pause tuş kombinasyonu);
  2. Sol menüde, öğeye tıklayın Ek sistem parametreleri;
  3. sekmeye git Bunlara ek olarak;
  4. Başlangıç ​​ve Kurtarma alanında, düğmesine tıklayın Seçenekler;
  5. alanında Hata ayıklama bilgilerini yazma Seç Küçük bellek dökümü (128 KB).

Tüm işlemleri yaptıktan sonra, her BSoD'den sonra C:\WINDOWS\Minidump klasörüne .dmp uzantılı bir dosya kaydedilecektir. "" malzemesini okumanızı tavsiye ederim. Ayrıca “ kutusunu da işaretleyebilirsiniz. Mevcut döküm dosyasını değiştirin”. Bu durumda, her yeni kilitlenme dökümü eskisinin üzerine yazacaktır. Bu seçeneği etkinleştirmenizi önermiyorum.

BlueScreenView Kullanarak Kilitlenme Dökümü Analizi

Böylece, mavi ölüm ekranı göründükten sonra, sistem yeni bir çökme dökümü kaydetti. Dökümü analiz etmek için BlueScreenView programını kullanmanızı öneririm. Ücretsiz olarak indirilebilir. Program oldukça kullanıcı dostudur ve sezgisel bir arayüze sahiptir. Kurduktan sonra yapılacak ilk şey, bellek dökümlerinin sistemde nerede saklanacağını belirlemektir. Bunu yapmak için menü öğesine gidin “ Seçenekler”Ve seçin“ ileriSeçenekler”. Radyo düğmesinin seçilmesi “ YükitibarenNSTakip etmekMini çöplükdosya”Ve dökümlerin depolandığı klasörü belirtin. Dosyalar C:\WINDOWS\Minidump klasöründe saklanıyorsa, “ Varsayılan”. Tamam'a tıklayın ve program arayüzüne girin.

Program üç ana bloktan oluşmaktadır:

  1. Ana menü bloğu ve kontrol paneli;
  2. Kilitlenen bellek dökümleri listesinin bloğu;
  3. Seçilen parametrelere bağlı olarak şunları içerebilir:
  • mavi ekran görünmeden önce RAM'deki tüm sürücülerin listesi (varsayılan olarak);
  • RAM yığınında bulunan sürücülerin listesi;
  • BSoD ekran görüntüsü;
  • ve kullanmayacağımız diğer değerler.

Bellek dökümü listesinin bloğunda (şekilde 2 numara ile işaretlenmiştir), ilgilendiğimiz dökümü seçin ve RAM'e yüklenen sürücülerin listesine bakın (şekilde işaretlenmiştir) 3 numara). Bellek yığınında bulunan sürücüler pembe renktedir. BSoD'nin ortaya çıkmasının nedeni onlar. Ardından sürücünün Ana menüsüne gidin, hangi cihaza veya programa ait olduklarını belirleyin. Her şeyden önce, sistem dışı dosyalara dikkat edin, çünkü sistem dosyaları zaten RAM'e yüklenir. Görüntüdeki hatalı sürücünün myfault.sys olduğunu görmek kolaydır. Bu programın özellikle Dur hatasını çağırmak için başlatıldığını söyleyeceğim. Arızalı sürücüyü belirledikten sonra ya güncellemelisiniz ya da sistemden kaldırmalısınız.

Programın, BSoD oluşumu sırasında bellek yığınında bulunan sürücülerin bir listesini görüntülemesi için, “menü öğesine gidin. Seçenekler"Menüye tıklayın" Daha düşükbölmemod”Ve seçin“ Bir teksürücülerBulunduİçindeYığın"(Veya F7 tuşuna basın) ve hatanın ekran görüntüsünü görüntülemek için seçin" MaviEkraniçindedeneyimstil”(F8). Tüm sürücüler listesine geri dönmek için öğeyi seçmelisiniz " Tümsürücüler”(F6).

Baş Teknoloji Yazarı

Birisi size bir DUMP dosyası e-postası mı gönderdi ve onu nasıl açacağınızdan emin değil misiniz? Belki de bilgisayarınızda bir DUMP dosyası buldunuz ve bunun ne için olduğunu merak ediyorsunuz? Windows size açamayacağınızı söyleyebilir veya en kötü senaryoda, DUMP dosyasıyla ilgili bir hata mesajıyla karşılaşabilirsiniz.

Bir DUMP dosyasını açmadan önce, DUMP dosya uzantısının ne tür bir dosyaya ait olduğunu bulmanız gerekir.

Uç: Hatalı DUMP dosya ilişkilendirme hataları, Windows işletim sisteminizde mevcut diğer sorunların bir belirtisi olabilir. Bu geçersiz girişler, yavaş Windows başlatmaları, bilgisayar donmaları ve diğer bilgisayar performans sorunları gibi ilişkili belirtilere de neden olabilir. Bu nedenle, geçersiz dosya ilişkilendirmeleri ve parçalanmış bir kayıt defteriyle ilgili diğer sorunlar için Windows kayıt defterinizi taramanız önemle tavsiye edilir.

Cevap:

DUMP dosyaları, öncelikle Google BreakPad (Google, Inc.), Firefox (Mozilla Foundation) ile ilişkili Çeşitli Dosyalardır.

DUMP dosya uzantısı başka dosya tipleri tarafından da kullanılıyor olabilir. DUMP dosya uzantısını kullanan başka bir dosya biçimini biliyorsanız, bilgilerimizi uygun şekilde güncelleyebilmemiz için lütfen bizimle iletişime geçin.

DUMP dosyanız nasıl açılır:

DUMP dosyanızı açmanın en hızlı ve kolay yolu çift tıklamaktır. Bu durumda Windows, DUMP dosyanızı açmak için gerekli programı otomatik olarak seçecektir.

DUMP dosyanızın açılmaması durumunda, bilgisayarınızda DUMP uzantılı dosyaları görüntülemek veya düzenlemek için gerekli uygulama programı kurulu olmayabilir.

Bilgisayarınız DUMP dosyasını açarsa ancak bu yanlış uygulamaysa, Windows kayıt defteri dosya ilişkilendirme ayarlarınızı değiştirmeniz gerekir. Başka bir deyişle, Windows DUMP dosya uzantılarını yanlış programla ilişkilendiriyor.

İsteğe Bağlı Ürünleri Kurun - FileViewPro (Solvusoft) | | | |

DUMP Çok Amaçlı İnternet Posta Uzantıları (MIME):

  • mim uygulaması / sekizli akışı

DÖKÜM Dosya Analiz Aracı ™

Hangi tür DUMP dosyanız olduğuna emin değil misiniz? Bir dosya, yaratıcısı ve onu nasıl açabileceğiniz hakkında kesin bilgi almak ister misiniz?

Artık DUMP dosyası hakkında ihtiyacınız olan tüm bilgileri anında alabilirsiniz!

Devrim niteliğinde DUMP Dosya Analizi Aracı ™, DUMP dosyanızla ilgili her ayrıntıyı tarar, analiz eder ve geri rapor eder. (Patent beklemede) algoritmamız dosyayı hızla ayrıştıracak ve saniyeler içinde ayrıntılı bilgileri net, okunması kolay bir biçimde sağlayacaktır.

Birkaç saniye içinde, DUMP dosyanızın türünü, dosyayla ilişkili uygulamayı, dosyayı oluşturan kullanıcının adını, dosyanın koruma durumunu ve diğer yararlı bilgileri kesin olarak bileceksiniz.

Ücretsiz bir dosya analizi başlatmak için, DUMP dosyanızı aşağıdaki noktalı çizginin içine sürüklemeniz veya Bilgisayarımı Görüntüle'yi tıklayıp dosyayı seçmeniz yeterlidir. DUMP dosya analiz raporu aşağıda, tarayıcı penceresinde gösterilecektir.

Analizi başlatmak için DUMP dosyasını buraya sürükleyip bırakın

bilgisayarımı görüntüle "

Lütfen dosyamda virüs olup olmadığını da kontrol edin

Dosyanız analiz ediliyor ... lütfen bekleyin.

En yaygın Windows çökmelerinden biri, kullanıcının Mavi Ölüm Ekranı (BSOD) olarak gördüğü sistem istisnalarıdır. Kural olarak, bu ölümcül hata, sürücülerin, donanımın (çoğunlukla işletim sistemi yüklenirken) arızalanması veya virüslerin ve antivirüslerin etkisi nedeniyle oluşur.

Mavi ölüm ekranı, istisnaya neden olan nedenlerle (0x0000007b biçimindeki bir STOP hata kodu biçiminde), bir istisnanın oluştuğuna erişirken bellekteki adresler ve diğer yararlı bilgiler hakkında bilgiler içerir. Bu bilgi, değişken parametreleri yalnızca bellek adresleri olan bir STOP hatası olarak adlandırılır. 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, ardından bilgisayar yeniden başlatılır. Bu kısa süre boyunca, kural olarak, bir dosyaya yazılan bir bellek dökümü oluşur. Arızaları teşhis etmenin en önemli profesyonel yollarından biri, bu makalede ayrıntılı olarak tartışılacak olan bir bellek dökümünü analiz etmektir.

çöplük nedir

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

Bellek dökümü kaydetme ayarları, Windows sistem kayıt defterinde saklanır.

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

Windows Kayıt Defteri bölümünde, kilitlenme dökümü aşağıdaki ayarlarla tanımlanır:

- 0 × 1 değerinde REG_DWORD parametresi Otomatik Yeniden Başlatma (Sistem Özellikleri iletişim kutusunun Yükle ve Geri Yükle yardımcı penceresinin otomatik yeniden başlatılmasını gerçekleştir seçeneği);

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

- Varsayılan değer % SystemRoot% \ MEMORY.DMP (döküm dosyası depolama konumu) ile REG_EXPAND_SZ parametresi DumpFile;

- 0 × 1 varsayılan değerine sahip REG_DWORD LogEvent parametresi (Başlangıç ​​ve Kurtarma penceresinin sistem günlüğüne olay yaz seçeneği);

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

- REG_DWORD parametresi Varsayılan değer 0 × 1 ile Üzerine Yaz (Başlangıç ​​ve Geri Yükleme penceresinin mevcut döküm dosyasının üzerine yaz seçeneği);

- Varsayılan değer 0 × 1 olan REG_DWORD SendAlert parametresi (Başlangıç ​​ve 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 işgal edilen disk bloklarının bir haritasını oluşturur ve bunu bellekte saklar. Sistem ayrıca hangi disk aygıt sürücüsünün önyükleme hacmini kontrol ettiğini belirler, bellek içi sürücü görüntüsü ve sürücünün G/Ç işlemlerini gerçekleştirebilmesi için tamsayı olması gereken veri yapıları için sağlama toplamlarını hesaplar.

Bir çökmeden sonra çekirdek, disk belleği dosyası haritasının, disk sürücüsünün ve disk sürücüsü kontrol yapılarının bütünlüğünü kontrol eder. Bu yapıların bütünlüğü ihlal edilmezse, sistem çekirdeği, bir sistem arızasından sonra bellek görüntüsünü kaydetmek için tasarlanmış disk sürücüsünün özel G / Ç işlevlerini çağırır. Bu G / Ç işlevleri bağımsızdır ve sistem çekirdeği hizmetlerine dayanmaz çünkü kilitlenme döküm programları, bir çökme sırasında sistem çekirdeğinin veya aygıt sürücülerinin hangi bölümlerinin bozulduğu hakkında 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 önce boşaltma işlemine dahil olan her bir bileşenin durumunu kontrol eder. Bu, doğrudan disk sektörlerine yazarken sayfa dosyasının dışında kalan verilere zarar vermemek için yapılır. Sayfa dosyasının boyutu, fiziksel belleğin boyutundan 1MB daha büyük olmalıdır, çünkü döküme bilgi yazıldığında, kilitlenme 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 1 MB'den küçüktür, ancak işletim sistemi disk belleği dosyasının boyutunu en az 1 MB artırabilir (veya azaltabilir).

Sistemi 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ılmakta olan disk belleği dosyasının var olup olmadığını ve varsa, bir döküm başlığı içerip içermediğini belirler. Bir başlık varsa, NtCreatePagingFile, Oturum Yöneticisine özel bir kod gönderir. Oturum Yöneticisi daha sonra bir kilitlenme dökümünün varlığı konusunda bilgilendirilen Winlogon işlemini (Windows NT oturum açma programı; sürücü adresi \ WINDOWS \ system32 \ winlogon.exe'dir) başlatır. Winlogon, döküm başlığını analiz eden ve acil bir durumda ne yapılacağını belirleyen SaveDump programını (Windows NT Bellek Kaydetme Programı; disk adresi - \ WINDOWS \ system32 \ saveump.exe) başlatır.

Başlık bir dökümün mevcut olduğunu gösteriyorsa, SaveDump, sayfa dosyasındaki verileri Kayıt Defteri anahtarındaki REG_EXPAND_SZ DumpFile parametresi tarafından adlandırılan bir kilitlenme dökümü dosyasına kopyalar. SaveDump döküm dosyasının üzerine yazarken, işletim sistemi sayfa dosyasının kilitlenme dökümünü içeren bölümünü kullanmaz. Bu süre boyunca, sistem ve uygulamalar için kullanılabilir sanal bellek miktarı, dökümün boyutu kadar azalır (ve ekranda yetersiz sanal belleği belirten mesajlar görünebilir). SaveDump daha sonra bellek yöneticisine dökümün tamamlandığını bildirir ve sayfa dosyasının dökümü içeren bölümünü genel kullanım için serbest bırakır.

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

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

döküm çeşitleri

  • Tam bellek dökümüönemli bir hata oluştuğunda sistem belleğinin tüm içeriğini yazar. Bu seçenek için, önyükleme biriminde tüm fiziksel RAM artı 1 MB boyutuna eşit bir disk belleği dosyanız olmalıdır. Varsayılan olarak, % SystemRoot% \ Memory.dmp dosyasına tam bir bellek dökümü yazılır. Yeni bir hata oluştuğunda ve yeni bir tam bellek dökümü (veya çekirdek bellek dökümü) dosyası oluşturulduğunda, önceki dosyanın üzerine yazılır (ü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ği yazar, bu da sistem aniden durduğunda günlüğe veri yazmayı daha hızlı hale getirir. Bu durumda, bilgisayardaki fiziksel bellek miktarına bağlı olarak, disk belleği dosyası, önyükleme biriminde 50 ile 800 MB arasında veya bilgisayarın fiziksel belleğinin üçte birini gerektirir. Varsayılan olarak, % SystemRoot% \ Memory.dmp dosyasına bir çekirdek bellek dökümü 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 Windows 2000 ve sonraki sürümlerde çekirdeğe ve donanıma bağlı katmana (HAL) ayrılan belleği ve çekirdek modu sürücülerine ve diğer çekirdek modu programlarına ayrılan belleği içerir. Çoğu durumda, böyle bir döküm tercih edilen seçenektir. Tam bellek dökümünden çok daha az yer kaplar ve yalnızca 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ü bir sorunun nedenini belirlemek için gerekli olan en az yararlı bilgiyi kaydeder. 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 verileri;
  • yüklü sürücülerin listesi;
  • çöken işlemci bağlamı (PRCB);
  • hataya neden olan işlem için işlem bilgisi 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 bellek döküm dosyası, sabit disk alanı sınırlı olduğunda kullanılır. Ancak, içerdiği sınırlı bilgiler nedeniyle, bu dosyanın analizi, oluştuğu anda yürütülmekte olan iş parçacığından doğrudan kaynaklanmayan 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 korunur. Her ek dosyaya benzersiz bir ad 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 depolanır. % SystemRoot% \ Mini döküm.

Windows XP işletim sistemi, hem Microsoft geliştiricilerinin, hem donanım sürücüsü geliştiricilerinin hem de uygulama yazılımı geliştiricilerinin çabaları sayesinde kuşkusuz önceki sürümlerden önemli ölçüde daha güvenilirdir. 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ıracak bilgi ve becerilere sahip olup olmamasına bağlıdır, sorun giderme için birkaç dakika harcaması gerekecektir (örneğin, güncelleme / hata ayıklama). sürücü veya sistem arızasına neden olan uygulama programlarının yeniden yüklenmesi) veya işletim sistemi ve uygulama yazılımının yeniden yüklenmesi / yapılandırılması için birkaç saat (bu, gelecekte hiçbir arıza ve çökme olmayacağını garanti etmez!).

Birçok sistem yöneticisi, birlikte çalışmanın çok zor olduğunu düşündükleri için Windows çökme dökümlerini analiz etmeyi hala ihmal ediyor. Zor, ama mümkün: örneğin, on dökümden birinin analizi başarılı olsa bile, çökme dökümlerini analiz etmek için en basit tekniklerde ustalaşmak için harcanan çabalar boşuna olmayacak! ..

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

Windows XP SP1 / SP2'ye sahip birkaç iş istasyonu, yerel ağda görünürde bir neden olmaksızın “yerleşik” “yok oldu” (donanım düzgün, virüs olmaması garantili, “normal elleri” olan kullanıcılar). Bilgisayarları normal modda başlatmak mümkün değildi - "Selamlar" a geldi - ve süresiz olarak yeniden başlatmak. 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'nin anti-virüsü, daha doğrusu en son anti-virüs veritabanlarıydı (daha doğrusu, iki veritabanı modülü - base372c.avc, base032c.avc) .

... Böyle bir vaka 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 meydana geldi. Bellek dökümü çalışması, arızanın nedenini belirlememize izin verdi - NVIDIA GeForce 6600 ekran kartı sürücüsünün nv4_disp.dll dosyası Sürücüyü güncelledikten sonra arıza giderildi. Genel olarak, nv4_disp.dll sürücüsü, genellikle BSOD'lere yol açan en kararsız sürücülerden biridir.

Bu durumların her ikisinde de, çarpışma dökümü çalışması, arızayı teşhis etme ve ortadan kaldırma süresini en aza 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 (Windows için Hata Ayıklama Araçlarına dahildir) kullanarak kilitlenme dökümlerinin nasıl analiz edileceğine bakalım.

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 Windows için bu, Windows için Hata Ayıklama Araçlarını İndir sayfasından yapılabilir;
  • indirdikten sonra kurulum dosyasını çalıştırın;
  • Windows Kurulum Sihirbazı için Hata Ayıklama Araçları penceresinde İleri'ye tıklayın;
  • lisans sözleşmesinin bulunduğu pencerede kabul ediyorum anahtarını ayarlayın -> İleri;
  • sonraki pencerede, yükleme türünü seçin (varsayılan olarak, hata ayıklama araçları \ Program Files \ Windows için Hata Ayıklama Araçları klasörüne yüklenir) -> Sonraki -> Yükle -> Bitir;
  • bellek dökümü dosyalarını yorumlamak için Windows sürümünüz için Sembol Paketlerini de indirmelisiniz - Windows Sembol Paketlerini İndir sayfasına gidin;
  • Windows sürümünüzü seçin, Symbol Packages kurulum dosyasını indirin ve çalıştırın;
  • lisans sözleşmesi penceresinde Evet'e tıklayın;
  • sonraki pencerede, kurulum klasörünü seçin (varsayılan olarak, \ WINDOWS \ Semboller sunulur) -> Tamam -> Evet;
  • Microsoft Windows Sembolleri penceresinde "Yükleme tamamlandı" mesajıyla Tamam'ı tıklayın.

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

  • WinDbg'yi çalıştırın (varsayılan olarak \ Program Files \ Debugging Tools for Windows klasörüne yüklenir);
  • Dosya menüsünü seçin -> Sembol Dosya Yolu…;
  • 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) -> Tamam -> Tamam;
  • Dosya menüsünü seçin -> Crash Dump'ı Aç… (veya Ctrl + D tuşlarına basın);
  • Crash Dump'ı Aç penceresinde Crash Dump Dosyasının (* .dmp) -> Aç'ın konumunu belirtin;
  • Çalışma Alanı penceresinde "Çalışma alanı için bilgi kaydedilsin mi?" sorusuyla "Tekrar sorma -> Hayır;
  • WinDbg penceresinde Komut Dökümü penceresi açılacak<путь_и_имя_файла_дампа>döküm analizi ile;
  • bellek dökümü analizini gözden geçirin;
  • "Bugcheck Analysis" bölümü, örneğin, "Muhtemelen neden: smwdm.sys (smwdm + 454d5)";
  • ayrıntılı bilgileri görüntülemek için, "Detaylı hata ayıklama bilgilerini almak için! Analyze -v'yi kullanın" satırındaki "! analiz -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.

Bugün bir bellek dökümünün ne olduğu hakkında konuşacağız. Bu dosya, belirli bir zamanda belirli bir bilgisayarın RAM'inde bulunan belirli verileri içerir. Profesyoneller ve çeşitli yazılım geliştiricileri için de değerlidir. Bir kaza dökümü meydana geldiğinde, bu insanlar bunun hangi noktada ve hangi nedenlerle olduğunu görme fırsatına sahip olurlar. Bu, kusurları ve yazılım hatalarını düzeltmenizi sağlar. Microsoft işletim sistemleri başarısız olduğunda, her zaman bir bellek dökümü oluşturulur.

Belirli bir dosyanın boyutunu ve konumunu bulmanız gerekiyorsa, bilgisayar simgesine sağ tıklamanız gerekir. Çıktığında özelliklerini çalıştırın ve daha fazla bilgi içeren sekmeyi açın. Ardından, önyükleme ve kurtarma bölümünde, ayarlar düğmesine tıklamanız gerekir. Önünüzde hata ayıklama bilgilerini kaydetmek için bir pencere görünecektir. Açılır listeden aşağıdaki işlevlerden birini seçme seçeneğiniz vardır.

Küçük bir bellek dökümü altmış dört kilobayta eşit olacaktır. Bu durumda, ortaya çıkan sorunlar hakkında yalnızca en gerekli bilgiler buna kaydedilecektir. Sonraki bir çekirdek bellek dökümü. Kural olarak boyutu da altmış dört kilobayttır. Sistem çekirdeğiniz için hata ayıklama bilgilerini içerir. Gelelim son noktaya. Buna "Windows 7 Tam Bellek Dökümü" denir. Tüm sistem belleği tamamen içine kaydedilir. Bu noktada, cihazınızda yüklü olan RAM'e eşdeğer boyutta gerekli dosyalar oluşturulur.


Ayrıca, bu dosyanın bulunacağı konumu bağımsız olarak belirleyebilir ve ayrıca mevcut bir dosyaya sığ yazmadan sorumlu ayarı değiştirebilirsiniz. Varsayılan olarak oldukları gibi kalmaları için bu ayarların değişmeden kalması şiddetle önerilir.

Bu dosyayı kendiniz manuel olarak oluşturabileceğinizi de belirtmekte fayda var. Bunu yapmak için başlat menüsünü çağırın, "Çalıştır" adlı hizmeti başlatın ve içine "regedit" komutunu girin ve ardından "Tamam" düğmesini tıklayın. İşletim sistemi karşınıza çıkacaktır. Orada şuna benzeyen bir anahtar bulmanız gerekiyor: HKEYS LOCAL MACHINES / SYSTEMA / CurrentControlSets / Service / i8042prt / Parametres.

Bulduğunuzda, bu pencerenin sağ tarafındaki manipülatörünüzü sağ tıklayın ve DWORLD Oluştur'u seçin. Bundan sonra, "CrashOnCtrlScroll" anahtarının adını yazın ve ardından "1" değerini atayın. Ardından bu düzenleyiciyi kapatın ve bilgisayarınızı veya dizüstü bilgisayarınızı yeniden başlatın. Bellek dökümü içeren yeni bir dosya oluşturmak için Contra düğmesini basılı tutun, ardından tuşuna iki kez basın

Hepsi bu. Umarım yukarıdaki bilgiler erişilebilir bir biçimde sunulmuştur. Ancak belirli bir neden olmaksızın, bunlar sistem kaynakları olduğu için belirtilen prosedürleri gerçekleştirmeniz gerekmez. Hata yaparsanız, işletim sisteminiz için onarılamaz sonuçlar ortaya çıkabilir.

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

REG_DWORD-parametre Otomatik yeniden başlatma anlamı ile 0x1(seçenek Otomatik yeniden başlatma gerçekleştir yardımcı pencere penceresi Sistem özellikleri);

REG_DWORD-parametre CrashDumpEtkin anlamı ile 0x0 bellek dökümü oluşturulmazsa; 0x1Tam bellek dökümü; 0x2Çekirdek bellek dökümü; 0x3Küçük bellek dökümü (64KB);

REG_EXPAND_SZ-parametre DumpFile anlamı ile % SystemRoot% \ MEMORY.DMP(döküm dosyasının depolandığı yer);

REG_DWORD-parametre LogEvent anlamı ile 0x1(seçenek Olayı günlüğe kaydet pencere );

REG_EXPAND_SZ-parametre MinidumpDir anlamı ile % SystemRoot% \ Mini döküm(seçenek);

REG_DWORD-parametre üzerine yaz anlamı ile 0x1(seçenek Mevcut dosyayı değiştir pencere );

REG_DWORD-parametre SendAlert anlamı ile 0x1(seçenek Yönetici uyarısı gönder pencere).

Sistem kilitlenme dosyasını nasıl oluşturur?

Önyükleme sırasında işletim sistemi, kayıt defteri anahtarında acil durum oluşturma ayarlarını kontrol eder. ... En az bir parametre belirtilirse, sistem, önyükleme biriminde kullanılan disk bloklarının bir haritasını oluşturur ve bunu bellekte saklar. Sistem ayrıca hangi disk aygıtının önyükleme hacmini kontrol ettiğini belirler, görüntü için sağlama toplamlarını hesaplar. bellekte ve G/Ç işlemlerini gerçekleştirmek için int olması gereken veri yapıları için.

Bir çökmeden sonra sistem çekirdeği, sayfa dosyası haritasının, disk ve disk kontrol yapılarının bütünlüğünü kontrol eder.... Bu yapıların bütünlüğü ihlal edilmezse, sistem çekirdeği özel disk G / Ç işlevlerini çağırır. Bir çarpışmadan sonra bir hafıza görüntüsünü kaydetmek için tasarlanmıştır. Bu G/Ç işlevleri bağımsızdır ve kilitlenme döküm programları, sistem çekirdeğinin hangi bölümlerinin veya aygıtların çökme sırasında hasar gördüğü konusunda herhangi bir varsayımda bulunamadığından, sistem çekirdeği hizmetlerine dayanmaz. Sistem çekirdeği, bellekten disk belleği dosyası sektör haritasına veri yazar (kullanmak zorunda değildir).dosya sistemi).

Çekirdek önce boşaltma işlemine dahil olan her bir bileşenin durumunu kontrol eder. Bu, doğrudan disk sektörlerine yazarken dosyanın dışında kalan verilere zarar vermemek için yapılır. Dosya boyutu 1 olmalıdır MB fiziksel belleğin boyutundan daha büyük, çünkü başlığa bilgi yazarken, acil durumun imzasını ve sistem çekirdeğinin en önemli birkaç değişkeninin değerlerini içeren bir başlık oluşturulur. Başlık 1'den az sürer MB, ancak işletim sistemi disk belleği dosyasının boyutunu en az 1 artırabilir (veya azaltabilir) MB.

Sistem önyüklemesinden sonra Oturum Yöneticisi (Windows NT Oturum Yöneticisi; disk adresi - \ WINDOWS \ system32 \ smss.exe) her dosyayı oluşturmak için kendi işlevini kullanarak sistem dosyalarını başlatır NtCreatePagingFile. NtCreatePagingFile başlatılmakta olan dosyanın var olup olmadığını ve varsa bir başlığı olup olmadığını belirler ... Bir başlık varsa, o zaman NtCreatePagingFile gönderir Oturum Yöneticisiözel kod. Daha sonra Oturum Yöneticisi süreci başlatır Winlogon (Windows NT oturum açma programı; disk adresi - \ WINDOWS \ system32 \ winlogon.exe), acil bir durumun varlığından haberdar edilen . Winlogon programı başlatır KaydetDump (Windows NT Bellek Kaydetme Yardımcı Programı; disk adresi - \ WINDOWS \ system32 \ saveump.exe) başlığı ayrıştıran ve acil bir durumda yapılacak diğer eylemleri belirler.

Başlık varlığı gösteriyorsa , sonra KaydetDump dosyadaki verileri, adı verilen acil durum dosyasına kopyalar. REG_EXPAND_SZ-parametre DumpFile Bölüm ... Hoşçakal KaydetDump dosyanın üzerine yazar , işletim sistemi, sayfa dosyasının acil durumu içeren bölümünü kullanmaz. ... Şu anda, sistem ve uygulamalar için kullanılabilir sanal bellek miktarı, boyuta göre azaltılır. (Bu, ekranda yetersiz sanal bellek olduğunu belirten mesajların görünmesine neden olabilir.) Sonra KaydetDump hafıza yöneticisine kaydetme işleminin tamamlandığını bildirir , ve o bölümü serbest bırakır depolayan dosya , genel kullanım için.

Dosyayı kaydederek , program KaydetDump bir acil durumun yaratılmasını kaydeder olay günlüğünde örneğin: “Bilgisayar kritik bir hatadan sonra yeniden başlatıldı: 0x100000d1 (0xc84d90a6, 0x00000010, 0x00000000, 0xc84d90a6). Bellek kopyası kaydedildi: C: \ WINDOWS \ Minidump \ Mini060309-01.dmp ".

Tam bellek dökümüönemli bir hata oluştuğunda belleğin tüm içeriğini yazar. Bu seçenek için, önyükleme biriminde, boyutu tüm fiziksel RAM artı 1 miktarına eşit olan bir disk belleği dosyanız olmalıdır. MB... Varsayılan dolu bellek bir dosyaya yazılır % SystemRoot% \ Memory.dmp... Yeni bir hata oluştuğunda ve yeni bir dosya oluşturulduğunda, tam hafıza (veya çekirdek belleği) önceki dosya değiştirilir (üzerine yazılır). Parametre Tam bellek dökümü 32 bit işletim sistemine ve 2 veya daha fazla RAM'e sahip olanlarda mevcut değildir.

Yeni bir hata oluştuğunda ve yeni bir dosya oluşturulduğunda, tam bellek, önceki dosya değiştirilir.

Çekirdek bellek dökümü yalnızca çekirdek belleği yazar, bu da sistem aniden durduğunda günlüğe veri yazmayı daha hızlı hale getirir. Fiziksel bellek miktarına bağlı olarakbu durumda, takas dosyası 50 ile 800 arasında gerektirir MB veya önyükleme birimindeki fiziksel belleğin üçte biri. çekirdek belleği bir dosyaya yazılır % SystemRoot% \ Memory.dmp.

Bu ayrılmamış belleği veya mod programları için ayrılmış belleği içermez. Yalnızca çekirdek ve donanıma bağlı katman için ayrılan belleği içerir ( HAL) Windows 2000 ve sistemin sonraki sürümlerinin yanı sıra çekirdek modu ve diğer çekirdek modu programları için ayrılan bellek. Çoğu durumda, böyle en çok tercih edilen seçenektir. Dolu olandan çok daha az yer kaplar. bellek, yalnızca büyük olasılıkla hatayla ilişkili olmayan bellek sektörlerini hariç tutar.

Yeni bir hata oluştuğunda ve yeni bir dosya oluşturulduğunda çekirdek belleği, önceki dosyanın üzerine yazılır.

Küçük bellek dökümü Bir sorunun nedenini belirlemek için gereken en küçük miktarda yararlı bilgiyi kaydeder. Küçük oluşturmak için bellek, disk belleği dosyası en az 2 olmalıdır MBönyükleme hacminde.

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

- önemli bir hata, parametreleri ve diğer veriler hakkında mesaj;

- indirilenlerin listesi;

- bağlam ( PRCB) çöktü;

EPROSES) hataya neden olan süreç için;

- işlem bilgisi ve çekirdek bağlamı ( ETHREAD) hataya neden olan iş parçacığı için;

- hataya neden olan iş parçacığı için çekirdek modundaki çağrı yığını.

Küçük dosya bellek, sabit disk alanı sınırlı olduğunda kullanılır. Ancak, içerdiği sınırlı bilgiler nedeniyle, bu dosyanın analizi sonucunda, oluştuğu anda çalışan iş parçacığından doğrudan kaynaklanmayan hataları bulmak her zaman mümkün değildir.

Aşağıdaki hata oluştuğunda ve ikinci bir küçük dosya oluşturulduğunda bellek, önceki dosya korunur. Her ek dosyaya benzersiz bir ad verilir. Tarih, dosya adında kodlanmıştır. Örneğin, Mini051509-01.dmp ilk dosya 15 Mayıs 2009'da oluşturulmuş bellek. bellek klasörde saklanır % SystemRoot% \ Mini döküm.

İşletim sistemi Her iki geliştiricinin çabaları sayesinde şüphesiz önceki sürümlerden çok daha güvenilir Microsoft ve donanım geliştiricileri ve uygulamalı yazılım geliştiricileri ... Ancak acil durumlar - her türlü sistem arızası ve çökmesi - kaçınılmazdır vebunların ortadan kaldırılması konusundaki bilgi ve becerilere bağlı olarak, sorun giderme için birkaç dakika harcaması (örneğin, hataya neden olan uygulama programını güncelleme / hata ayıklama veya yeniden yükleme) veya işletim sistemini ve uygulamayı yeniden yükleme / yapılandırma için birkaç saat harcaması gerekecektir. yazılım (bu, gelecekte arıza ve çökme olmayacağını garanti etmez!).

Crash dump analizi birçok yönetici tarafından ihmal ediliyor pencereler Onlarla çalışmanın çok zor olduğuna inanmak. Zor, ama mümkün: örneğin, birinin analizi olsa bile. on kişiden başarılı olacak - acil durumu analiz etmek için en basit tekniklerde ustalaşmak için harcanan çaba , boşuna olmayacak! ..