Aracılığıyla paylaş


Çekirdek Canlı Döküm Kodu Referansı

Bu bölüm, oluşabilecek yaygın çekirdek canlı döküm kodlarının açıklamalarını içerir. Canlı dökümler işletim sistemini sıfırlamaz, ancak işletim sisteminin devam edebildiği anormal durumlar için bellek bilgilerinin yakalanmasına olanak sağlar.

Uyarı

Bu konu programcılar içindir. Sistemi hata denetimi koduyla mavi ekran görüntüleyen bir müşteriyseniz bkz. Mavi ekran hatalarını giderme.

Çekirdek canlı dökümü hata denetimiyle karşılaştırıldığında

Geleneksel bir hata denetimiyle bilgisayar sıfırlanır ve kullanıcının çalışması kesintiye uğrar. Çekirdek canlı dökümünün amacı, anormal bir durumu gidermek için veri toplamaktır, ancak işletim sisteminin çalışmaya devam etmesine izin vermektir. Bu, "ölümcül olmayan" ancak yüksek etkili hatalar ve kilitlenmeler için yapılan hata kontrolüyle karşılaştırıldığında kapalı kalma süresini azaltır. Çekirdek canlı dökümleri, işletim sisteminin bilinen iyi bir duruma kurtarılması mümkün olduğunda kullanılır. Örneğin video/ekran, USB3 veya Wi-Fi gibi bir alt sistemin donanım sıfırlaması, bu sistemlerin en az kullanıcı etkisiyle bilinen iyi bir duruma dönmesine izin verebilir.

Çekirdek canlı dökümü, çekirdek belleğinin tutarlı bir anlık görüntüsünü oluşturur ve gelecekteki analiz için döküm dosyasına kaydeder. Performans üzerindeki etkiyi en aza indirmek için bellek kopyalama teknikleri, döküm dosyasını kısa bir süre içinde oluşturmak için kullanılır. Ayrıca, kullanıcı etkisinin en aza indirilmesi için canlı dökümlerin toplanması kısıtlanır.

Çekirdek canlı dökümü, bir şeyin uzun sürdüğü ve teknik olarak hiçbir şeyin başarısız olmadığı bir sorun kategorisi için etkilidir. bir işlem başlatıldığında bir izleme zamanlayıcısı başlatılabilir. İşlem beklenen sürede tamamlanmadan önce izlemenin süresi dolarsa sistemin canlı dökümü alınabilir. Ardından, döküm çağrı yığınına ve ilgili bekleme zincirine göz atılarak analiz edilebilir, böylece işlemin neden beklenen süre içinde tamamlanmadığı araştırılabilir.

Sistem günlükleri bir şey başarısız olduğunda düzgün çalışır ve kod sahibi hatanın nedenini kaydetmiş ve nedenini belirleyebilir. watchdog zamanlayıcılarını kullanan canlı dökümler, tahmin edilmeyen ve günlüğe kaydedilmeyen hata yollarını yakalamaya çalışır. Ancak her hatada olduğu gibi sistem günlükleri de hatanın belirli kök nedeni hakkında ipuçları sağlayabilecek diğer sorunları belirleyebilir.

Çekirdek canlı döküm dosyası içeriği

Normal döküm dosyalarına benzer şekilde, canlı döküm dosyaları da etkin dökümlere benzer şekilde kullanıcı modu belleği de içerebilen minidumps (ikincil verilerle) ve tam çekirdek dökümleri içerebilir. Döküm dosyası içeriği hakkında genel bilgi için bkz. Kernel-Mode Döküm Dosyalarının Çeşitleri. Bazı canlı dökümler yalnızca donanımla ilgili belirli verileri yakalamak için tasarlandıkları için mini dökümleri yakalamaya çalışırken, diğerleri daha büyük bir çekirdek canlı dökümü yakalamaya çalışabilir.

Performans, dosya boyutu ve döküm yakalamalarının güvenilirliği için, stand by listesindeki sayfalar ve dosya önbellekleri gibi bazı bilgiler dahil değildir.

Canlı döküm dosyaları genellikle aşağıdakiler gibi bellek sayfaları içerir:

  • KdDebuggerBlock
  • Yüklenen Modül Listesi

Her işlemci için aşağıdaki bilgiler çekirdek dökümlerinde yakalanır:

  • KiProcessorBlock
  • PRCB'ler
  • Geçerli yığın
  • Geçerli sayfa dizin tablosu
  • KI_USER_SHARED_DATA
  • NTOS Çekirdek Görüntüsü
  • HAL Görüntüsü

Çekirdek dökümlerindeki ek bilgiler şunlar olabilir:

  • İş parçacığı / bellek durumu
  • Bellek içi kayıt

Bazı canlı dökümler kullanıcı modu işlem sayfaları içerebilir.

Bazı canlı dökümler için ek etki alanına özgü veriler (örneğin, USB hataları için USB'ye özgü veriler) eklenebilir.

Kısmi çekirdek canlı döküm dosyası

Canlı dökümün tüm hedeflenen bellek sayfalarını güvenilir bir şekilde yakalayamayabileceği durumlarda, kısmi bir çekirdek canlı döküm dosyası oluşturulabilir. Kısmi dökümde yakalanan bilgiler, diğer sayfalara karşı geçerli bir döküm oluşturmak için gereken önemli verileri içeren sayfalar yakalanarak filtrelenip önceliklendirilir. Örneğin, canlı döküm kullanıcı sayfalarını içerdiğinde çekirdek sayfaları kullanıcı sayfalarına göre önceliklendirilir. Bazı durumlarda, istenen tüm isteğe bağlı bellek sayfalarını yakalamak için yeterli kaynak olmadığından döküm dosyasında bellek eksik olabilir. Döküm dosyası hala WinDbg hata ayıklayıcısı tarafından tanınmalıdır, ancak bellek dökümü denenirken hatalar gösterebilir. Hata ayıklayıcı bir adreste bellek dökümü yapmaya çalışırken bir hata gösteriyorsa, bir adres için PTE'nin geçerli olup olmadığını denetlemek için !pte uzantısını kullanabilirsiniz. Bu, bellek adresinin gerçekten geçersiz olup olmadığını veya sayfanın geçerli olup olmadığını ancak döküm dosyasında kullanılamadığını belirlemeye yardımcı olabilir.

Canlı döküm dosyalarını analiz etme

Bir canlı döküm oluştuğunda, döküm dosyası diğer bellek dökümü dosyaları için kullanılan teknikleri kullanarak analiz edilebilir. Bir hata sırasında belleğin içeriğini anlamak için işlemci bellek yazmaçları ve derleme programlama bilgisi gereklidir.

Daha fazla bilgi için bakınız:

WinDbg kullanarak canlı bellek dökümü durdurma kodu bilgilerini görüntüleme

Bu konuda belirli bir canlı döküm kodu görünmüyorsa, Windows Hata Ayıklayıcısı'nda (WinDbg) !analyze uzantısını aşağıdaki söz dizimiyle (çekirdek modunda) kullanın ve yerine <code> bir canlı döküm kodu yazın:

!analyze -show <code>

Bu komutun girilmesi WinDbg'nin belirtilen canlı döküm kodu hakkındaki bilgileri görüntülemesine neden olur. Varsayılan sayı tabanınız (radix) 16 değilse, <code> önüne 0x ekleyin.

Kullanılabilir parametre bilgilerini görüntülemek için !analyze komutuna canlı döküm kodu parametrelerini sağlayın. Örneğin, Hata Denetimi 0x144 BUGCODE_USB3_DRIVER ile ilgili bilgileri ve parametre 1 değeri 0x3003 olan bilgileri görüntülemek için !analyze -show 0x144 0x3003'i burada gösterildiği gibi kullanın.

0: kd> !analyze -show 0x144 0x3003
BUGCODE_USB3_DRIVER (144)
This bugcheck usually happens when the USB3 core stack detects an invalid
operation being performed by a USB client. This bugcheck may also occur
due to hardware failure on a USB Boot Device.
Arguments:
Arg1: 0000000000003003, USB3_WER_BUGCODE_USBHUB3_DEVICE_ENUMERATION_FAILURE
	A USB device failed enumeration.
Arg2: 0000000000000000, USBHUB3_LIVEDUMP_CONTEXT
Arg3: 0000000000000000, 0
Arg4: 0000000000000000, 0

WinDbg'yi indirmek için bkz. Windows için Hata Ayıklama Araçları. WinDbg geliştirme araçları hakkında daha fazla bilgi edinmek için bkz. Windows Hata Ayıklama ile Çalışmaya Başlama.

Canlı döküm dosyası konumları

Canlı dökümler varsayılan olarak 'C:\WINDOWS\LiveKernelReports' dizininde depolanır.

Tam dökümler: %systemroot%\LiveKernelReports\*.dmp

Minidump dosyaları: %systemroot%\LiveKernelReports\<ComponentName>\*.dmp

Dizin yapısı, farklı bileşenler için canlı dökümleri depolamak için kullanılır.

NDIS
PDCRevocation
PoW32kWatchdog
USBHUB3
WATCHDOG

Canlı döküm kayıt defteri anahtarları

Sistem tarafından oluşturulan canlı çekirdek raporları için yapılandırma seçenekleri hakkında daha fazla bilgi için bkz. WER Ayarları.

Canlı dökümü el ile tetikleme için PowerShell kullanma

  1. Yönetici ayrıcalıkları ile bir PowerShell penceresi açın.

  2. Get-StorageSubSystem PowerShell komutunu kullanarak StorageSubsystem kolay adını alın.

 C:\> Get-StorageSubSystem
 FriendlyName                     HealthStatus OperationalStatus
 ------------                     ------------ -----------------
 Windows Storage on 10-2411-PC    Healthy      OK
  1. Yukarıdaki alt sistem (diğer tanılama günlükleriyle birlikte) için canlı döküm oluşturmak için Get-StorageDiagnosticInfo kullanın. Daha fazla bilgi için bkz. Get-StorageDiagnosticInfo.
 C:\> Get-StorageDiagnosticInfo -StorageSubSystemFriendlyName "Windows Storage on 10-2411-PC" -IncludeLiveDump -DestinationPath C:\destinationfolder
  1. Çıkış, istenen bilgilerin oluşturulduğunu gösterir.
Gathering storage subsystem diagnostic information                                                                         
Running                                                                                                                 
[oooooooooooo                                                                                              ] 
  1. Döküm [DestinationPath]\localhost içinde olacak.
 C:\> dir C:\destinationfolder\localhost\*.dmp
   Directory: C:\destinationfolder\localhost
 Mode                LastWriteTime         Length Name
 ----                -------------         ------ ----
 -a----         5/5/2016   1:08 PM      867135488 LiveDump.dmp
  1. Döküm dosyasında !analyze komutunu çalıştırmak için hata ayıklayıcının kullanılması, bunun LIVE_SYSTEM_DUMP (161) canlı döküm kodu olduğunu gösterir.

Çekirdek canlı döküm kodları

Aşağıdaki tabloda çekirdek canlı döküm kodları için bağlantılar sağlanmaktadır.

Kod İsim
0x000000AB SESSION_HAS_VALID_POOL_ON_EXIT
0x00000117 VIDEO_TDR_ZAMAN_AŞIMI_TESPİT_EDİLDİ
0x00000141 VİDEO_MOTORU_ZAMAN_AŞIMI_TESPİT_EDİLDİ
0x00000142 VIDEO_TDR_APPLICATION_BLOCKED
0x00000156 WINSOCK_DETECTED_HUNG_CLOSESOCKET_LIVEDUMP
0x0000015C PDC_WATCHDOG_TIMEOUT_LIVEDUMP
0x0000015D SOC_SUBSYSTEM_FAILURE_LIVEDUMP
0x0000015E BUGCODE_NDIS_DRIVER_LIVE_DUMP
0x0000015F CONNECTED_STANDBY_WATCHDOG_TIMEOUT_LIVEDUMP
0x00000161 LIVE_SYSTEM_DUMP
0x00000165 CLUSTER_CSV_STATUS_IO_TIMEOUT_LIVEDUMP
0x00000166 CLUSTER_RESOURCE_CALL_TIMEOUT_LIVEDUMP
0x00000167 CLUSTER_CSV_SNAPSHOT_DEVICE_INFO_TIMEOUT_LIVEDUMP
0x00000168 CLUSTER_CSV_STATE_TRANSITION_TIMEOUT_LIVEDUMP
0x00000169 CLUSTER_CSV_VOLUME_ARRIVAL_LIVEDUMP
0x0000016A CLUSTER_CSV_VOLUME_REMOVAL_LIVEDUMP
0x0000016B CLUSTER_CSV_CLUSTER_WATCHDOG_LIVEDUMP
0x0000016F CLUSTER_CSV_STATE_TRANSITION_INTERVAL_TIMEOUT_LIVEDUMP
0x00000175 ÖNCEKİ_CİDDİ_OLAĞAN_DIŞI_SIFIRLAMA_HATASI
0x00000179 CLUSTER_CLUSPORT_STATUS_IO_TIMEOUT_LIVEDUMP
0x0000017C PDC_LOCK_WATCHDOG_LIVEDUMP
0x0000017D PDC_UNEXPECTED_REVOCATION_LIVEDUMP
0x00000187 VIDEO_DWMINIT_TIMEOUT_FALLBACK_BDD
0x00000188 CLUSTER_CSVFS_LIVEDUMP
0x00000190 WIN32K_CRITICAL_FAILURE_LIVEDUMP
0x00000193 VIDEO_DXGKRNL_LIVEDUMP
0x00000195 SMB_SERVER_LIVEDUMP
0x00000198 UFX_LIVEDUMP
0x0000019D CLUSTER_SVHDX_LIVEDUMP
0x000001A1 WIN32K_CALLOUT_WATCHDOG_LIVEDUMP
0x000001A3 CALL_HAS_NOT_RETURNED_WATCHDOG_TIMEOUT_LIVEDUMP
0x000001A4 DRIPS_SW_HW_DIVERGENCE_LIVEDUMP
0x000001A5 USB_DRIPS_BLOCKER_SURPRISE_REMOVAL_LIVEDUMP
0x000001A6 BLUETOOTH_ERROR_RECOVERY_LIVEDUMP
0x000001A7 SMB_REDIRECTOR_LIVEDUMP
0x000001A8 VIDEO_DXGKRNL_BLACK_SCREEN_LIVEDUMP
0x000001A9 DIRECTED_FX_TRANSITION_LIVEDUMP
0x000001B0 VIDEO_MINIPORT_FAILED_LIVEDUMP
0x000001B8 VIDEO_MINIPORT_BLACK_SCREEN_LIVEDUMP
0x000001C4 DRIVER_VERIFIER_DETECTED_VIOLATION_LIVEDUMP
0x000001C5 IO_THREADPOOL_DEADLOCK_LIVEDUMP
0x000001C9 USER_MODE_HEALTH_MONITOR_LIVEDUMP
0x000001CC EXRESOURCE_TIMEOUT_LIVEDUMP
0x000001D1 TELEMETRY_ASSERTS_LIVEDUMP
0x000001D4 UCMUCSI_LIVEDUMP
0x000001E1 DEVICE_DIAGNOSTIC_LOG_LIVEDUMP
0x000001F5 APPLICATION_HANG_KERNEL_LIVEDUMP
0x000021C8 ELLE_BAŞLATILAN_BLACKSCREEN_KISAYOLU_CANLI_DÖKÜM

Bu durdurma kodları canlı döküm veya cihaz hata kontrolü için kullanılabilir.

Kod İsim
0x00000124 WHEA_UNCORRECTABLE_ERROR
0x00000144 BUGCODE_USB3_DRIVER
0x00000164 WIN32K_CRITICAL_FAILURE

Ayrıca bakınız

Hata Kontrol Kodu Referansı

!Analiz

Hata Denetimleri (Mavi Ekranlar)

Mavi Ekran Hata Denetimi Verilerini Analiz Et