Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DTrace, lkd() kullanarak D betiğinin içinden canlı dökümü yakalamak için bir tesis sağlar. Bellek dökümü dosyaları, Windows Hata Ayıklayıcısı kullanılarak Windows'ta karmaşık sorunların hatalarını ayıklamak için kullanılır. WinDbg kullanarak kilitlenme döküm dosyalarını analiz etme hakkında daha fazla bilgi için bkz. Hata ayıklayıcıyı indirmek için bkz. WinDbg Windows hata ayıklayıcısını indirme ve yükleme.
DTrace canlı dökümü, dökümü tam olarak hatanın oluştuğu noktada tetikleme olanağı sağlar. Örneğin hata, hata döndüren bir işlev olabilir. DTrace kullanarak bu işlev dönüşünü bağlayabilir ve dönüş değeri "hata" olduğunda canlı dökümü tetikleyebilirsiniz.
Uyarı
DTrace, Sürüm 18980 ve Windows Server Derlemesi 18975'in ardından Windows'un Insider derlemelerinde desteklenir.
Windows üzerinde DTrace ile çalışma hakkında genel bilgi için bkz. DTrace.
DTrace Canlı Döküm Kullanımı
Kullanım: lkd (parametre);
Canlı mini döküme hangi bilgilerin dahil olduğunu değiştirmek için aşağıdaki seçenekler ayarlanabilir.
0x0 - Tam çekirdek dökümü (varsayılan değer)
0x1 - Kullanıcı sayfaları + Çekirdek sayfaları (yalnızca KD ekleme ile çalışır)
0x2 - MiniDump
0x4 - Hyper-V sayfaları + Çekirdek sayfaları)
0x5 - Kullanıcı, çekirdek ve hiper yönetici sayfaları.
Canlı Döküm Örnek Kodu
#pragma D option destructive
inline uint32_t STATUS_UNSUCCESSFUL = 0xc0000001UL;
syscall:::return
{
this->status = (uint32_t)arg0;
if (this->status == STATUS_UNSUCCESSFUL)
{
printf ("Return value arg0:%x \n", this->status);
printf ("Triggering LiveDump \n");
lkd(0);
exit(0);
}
}
Dosyayı livedumpstatuscheck.d olarak kaydedin.
Yönetici olarak bir komut istemi açın ve -s seçeneğini kullanarak betiği çalıştırın.
C:\Windows\System32>dtrace -s livedumpstatuscheck.d
dtrace: script 'livedumpstatuscheck.d' matched 1881 probes
dtrace: allowing destructive actions
CPU ID FUNCTION:NAME
0 93 NtAlpcSendWaitReceivePort:return Return value arg0:c0000001
Triggering LiveDump
Oluşturulan döküm dosyası genellikle içinde C:\Windows\LiveKernelReportsbulunur.
Döküm dosyası konumu değiştirildiyse, değer şu kayıt defteri anahtarında depolanır: hklm\system\currentcontrolset\control\crashcontrol\livekernelreports
Yukarıda açıklandığı gibi döküm dosyasıyla çalışmak için WinDbg kullanın.
Sorun giderme
Canlı dökümle ilgili olayları görüntüleme
Windows Olay Görüntüleyicisi'ni açın: Şuraya gidin: Uygulamalar ve Hizmetler Günlükleri-Microsoft-Windows-Kernel-Livedump-Operational>>>>
Günlük bulamadıysanız aşağıda açıklandığı gibi komut isteminden veya olay görüntüleyicisinden analiz kanalını etkinleştirin.
Komut isteminden analiz kanalını etkinleştirme
Analiz kanalını ve yönetici komut istemini etkinleştirmek için bu komutu kullanın.
wevtutil sl Microsoft-Windows-Kernel-LiveDump/Analytic /e:true
Olay Görüntüleyicisi'ni kullanarak analiz kanalını etkinleştirme
Windows Olay Görüntüleyicisi'ni başlatma
Görüntüle'ye tıklayın ve "Analiz ve Hata Ayıklama günlüklerini göster" seçeneğini işaretleyin. Bu, livedump için analiz kanalını gösterir.
Microsoft-Windows-Kernel-LiveDump/Analytic öğesine sağ tıklayın ve etkinleştirin.
Tam canlı dökümleri etkinleştirme
Aşağıdaki örnek ayarlar, herhangi bir zamanda diskte olabilecek en fazla tam canlı döküm sayısını 10 olarak ayarlamayı gösterir ve yalnızca mini dökümü değil, tam bellek dökümlerini depolar.
reg add "HKLM\System\CurrentControlSet\Control\CrashControl\FullLiveKernelReports" /f /t REG_DWORD /v FullLiveReportsMax /d 10
reg add "HKLM\System\CurrentControlSet\Control\CrashControl" /f /t REG_DWORD /v AlwaysKeepMemoryDump /d 1
Bu ayarlar hakkında daha fazla bilgi için bkz. WER Ayarları.
Kısıtlamayı devre dışı bırak
Hız Kısıtlaması, dökümler ve günlükleme sisteminin Windows'un normal kullanımını etkilemesini engelleyen bir özelliktir. Bu özellik, belirli kaynak kısıtlanmış ortamlarda canlı dökümlerin oluşturulmasını engelleyebilir.
Canlı döküm kısıtlama ayarlarını kontrol edin ve gerekirse, burada gösterildiği gibi SystemThrottleThreshold ve ComponentThrottleThreshold anahtarlarını sıfıra ayarlayarak kısıtlamayı devre dışı bırakıp yeniden deneyin.
reg add "HKLM\System\CurrentControlSet\Control\CrashControl\FullLiveKernelReports" /f /t REG_DWORD /v SystemThrottleThreshold /d 0
reg add "HKLM\System\CurrentControlSet\Control\CrashControl\FullLiveKernelReports" /f /t REG_DWORD /v ComponentThrottleThreshold /d 0
Disk alanı sorunları (Olay Kimliği 202 -Error Metin: Canlı Döküm Yazma Ertelenmiş Döküm Veri API'si sona erdi. NT Durumu: 0xC000007F.)
Bu, disk alanının yetersiz olduğu anlamına gelir. Canlı döküm oluşturma yolunu değiştirmek için aşağıda gösterilen kayıt defteri anahtarını güncelleştirin. Bu örnekte, kullanılabilir ek depolama alanı olan d: sürücüsüne geçin.
reg add hklm\system\currentcontrolset\control\crashcontrol\livekernelreports /v "LiveKernelReportsPath" /t reg_sz /d "\??\d:\livedumps"
Bu komut, canlı döküm kök yolunu d:\livedumps olarak ayarlar (örnek olarak).
klasörü işletim sistemi tarafından yönetildiğinden ve döküm uygun izinlerle tetiklendiğinde oluşturulacağı için el ile oluşturmayın.